diff -Nru play.it-2.12.0/CHANGELOG play.it-2.12.1/CHANGELOG --- play.it-2.12.0/CHANGELOG 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/CHANGELOG 2020-11-25 15:14:43.000000000 +0000 @@ -1,3 +1,32 @@ +2.12.1 + + * Wrapper fixes: + * Fix script detection from archive name + + * Archive-related fixes: + * .zip archives: Drop selected files extraction using unzip + + * Package-related improvements: + * Arch Linux: Use multithreaded xz compression by default + * Arch Linux: Fix packages building failure when using --output-dir with a + relative path + * Arch Linux: Generate a .MTREE metadata file + * Debian: Improve APT version detection + + * Dependencies-related improvements: + * Show a more explicit message if icotool or wrestool is required but + missing + + * Launchers-related fixes + * Avoid broken .desktop Exec field when using spaces in the install prefix + + * Icons-related fixes: + * Fix icons_move_to failure when targeting a non-empty directory + + * Codebase improvements: + * Drop the dependency on hostname + * Unset variables that we do not want to import from the user environment + 2.12.0 * New options: diff -Nru play.it-2.12.0/debian/changelog play.it-2.12.1/debian/changelog --- play.it-2.12.0/debian/changelog 2020-08-09 05:12:47.000000000 +0000 +++ play.it-2.12.1/debian/changelog 2020-12-08 02:30:23.000000000 +0000 @@ -1,3 +1,10 @@ +play.it (2.12.1-1) unstable; urgency=medium + + * New upstream release. + * support Rules-Requires-Root: no + + -- Phil Morrell Tue, 08 Dec 2020 02:30:23 +0000 + play.it (2.12.0-1) unstable; urgency=medium * New upstream release. diff -Nru play.it-2.12.0/debian/control play.it-2.12.1/debian/control --- play.it-2.12.0/debian/control 2020-08-09 04:46:35.000000000 +0000 +++ play.it-2.12.1/debian/control 2020-12-08 02:30:23.000000000 +0000 @@ -6,10 +6,11 @@ Build-Depends: debhelper-compat (= 13), pandoc, -Standards-Version: 4.5.0 +Standards-Version: 4.5.1 Homepage: https://www.dotslashplay.it/ Vcs-Git: https://salsa.debian.org/games-team/play.it.git Vcs-Browser: https://salsa.debian.org/games-team/play.it +Rules-Requires-Root: no Package: play.it Architecture: all diff -Nru play.it-2.12.0/debian/copyright play.it-2.12.1/debian/copyright --- play.it-2.12.0/debian/copyright 2020-08-09 04:46:35.000000000 +0000 +++ play.it-2.12.1/debian/copyright 2020-12-08 02:30:23.000000000 +0000 @@ -8,7 +8,7 @@ Files: * Copyright: - 2015-2020, Antoine "vv221/vv222" Le Gonidec + 2015-2020, Antoine Le Gonidec 2015-2020, mortalius 2016-2020, Mopi 2017-2020, Jacek Szafarkiewicz @@ -26,6 +26,7 @@ 2019-2020, Luc Didry 2020, Igor Telmenko 2020, macaron + 2020, Hoël Bézier License: BSD-2-Clause License: BSD-2-Clause diff -Nru play.it-2.12.0/debian/rules play.it-2.12.1/debian/rules --- play.it-2.12.0/debian/rules 2020-08-09 04:46:35.000000000 +0000 +++ play.it-2.12.1/debian/rules 2020-12-08 01:17:17.000000000 +0000 @@ -6,4 +6,4 @@ dh $@ override_dh_auto_install: - dh_auto_install -- prefix=/usr + dh_auto_install -- prefix=/usr bindir=/usr/games datadir=/usr/share/games mandir=/usr/share/man diff -Nru play.it-2.12.0/play.it play.it-2.12.1/play.it --- play.it-2.12.0/play.it 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it 2020-11-25 15:14:43.000000000 +0000 @@ -40,7 +40,7 @@ fi # Locate script by file name -FILE_NAME="$(basename "$INPUT_FILE")" +FILE_NAME="$(basename "$INPUT_FILE" | sed 's/\[/\\\[/g;s/\]/\\\]/g')" SCRIPT="$(find\ "$(dirname "$0")/play.it-2/games"\ "$XDG_DATA_HOME/play.it"\ @@ -49,7 +49,7 @@ '/usr/share/games/play.it'\ '/usr/share/play.it'\ -mindepth 1 -maxdepth 1 -type f -name '*.sh' -exec\ - grep --regexp="ARCHIVE_.\\+='$FILE_NAME'" --files-with-matches '{}' + 2>/dev/null | head --lines=1)" + grep --regexp="ARCHIVE_.\\+=['\"]${FILE_NAME}['\"]" --files-with-matches '{}' + 2>/dev/null | head --lines=1)" # Exit with an error if the given archive is not supported if [ -z "$SCRIPT" ]; then diff -Nru play.it-2.12.0/play.it-2/changelog play.it-2.12.1/play.it-2/changelog --- play.it-2.12.0/play.it-2/changelog 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/changelog 2020-11-25 15:14:43.000000000 +0000 @@ -1,3 +1,32 @@ +2.12.1 + + * Wrapper fixes: + * Fix script detection from archive name + + * Archive-related fixes: + * .zip archives: Drop selected files extraction using unzip + + * Package-related improvements: + * Arch Linux: Use multithreaded xz compression by default + * Arch Linux: Fix packages building failure when using --output-dir with a + relative path + * Arch Linux: Generate a .MTREE metadata file + * Debian: Improve APT version detection + + * Dependencies-related improvements: + * Show a more explicit message if icotool or wrestool is required but + missing + + * Launchers-related fixes + * Avoid broken .desktop Exec field when using spaces in the install prefix + + * Icons-related fixes: + * Fix icons_move_to failure when targeting a non-empty directory + + * Codebase improvements: + * Drop the dependency on hostname + * Unset variables that we do not want to import from the user environment + 2.12.0 * New options: diff -Nru play.it-2.12.0/play.it-2/games/play-1365.sh play.it-2.12.1/play.it-2/games/play-1365.sh --- play.it-2.12.0/play.it-2/games/play-1365.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-1365.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,154 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2016-2020, Mopi +# 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. +### + +### +# 1365 +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20200912.2 + +# Set game-specific variables + +GAME_ID='1365-game' +GAME_NAME='1365' + +ARCHIVES_LIST=' +ARCHIVE_ITCH_0 +' + +ARCHIVE_ITCH_0='1365 Linux 1.0' +ARCHIVE_ITCH_0_MD5='8cb8fb11a2df4af72154f2909238c09c' +ARCHIVE_ITCH_0_URL='https://shadybug.itch.io/1365' +ARCHIVE_ITCH_0_SIZE='32000' +ARCHIVE_ITCH_0_VERSION='1.0.0-itch1' +ARCHIVE_ITCH_0_TYPE='file' + +# Optional icons pack +ARCHIVE_OPTIONAL_ICONS='1356_icons.tar.gz' +ARCHIVE_OPTIONAL_ICONS_MD5='f820888c924fed091c5d64d9aaa2d467' +ARCHIVE_OPTIONAL_ICONS_URL='https://downloads.dotslashplay.it/games/1365/' + +ARCHIVE_ICONS_PATH='.' +ARCHIVE_ICONS_FILES='256x256 512x512' + +APP_MAIN_TYPE='native' +APP_MAIN_EXE='1365 Linux 1.0' + +PACKAGES_LIST='PKG_MAIN' + +PKG_MAIN_ARCH='32' +PKG_MAIN_DEPS="glibc glx xcursor libxrandr alsa" +PKG_MAIN_DEPS_ARCH='lib32-libx11 lib32-libxinerama lib32-libpulse' +PKG_MAIN_DEPS_DEB='libx11-6, libxinerama1, libpulse0, libxi6' +PKG_MAIN_DEPS_GENTOO='x11-libs/libX11[abi_x86_32] x11-libs/libXinerama[abi_x86_32] media-sound/pulseaudio[abi_x86_32]' + +# Load common functions + +target_version='2.12' + +if [ -z "$PLAYIT_LIB2" ]; then + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + + +# Include optional icons pack + +ARCHIVE_MAIN="$ARCHIVE" +set_archive 'ARCHIVE_ICONS' 'ARCHIVE_OPTIONAL_ICONS' +if [ -n "$ARCHIVE_ICONS" ]; then + ( + ARCHIVE='ARCHIVE_ICONS' + extract_data_from "$ARCHIVE_ICONS" + ) + organize_data 'ICONS' "$PATH_ICON_BASE" + rm --recursive "$PLAYIT_WORKDIR/gamedata" +else + case "${LANG%_*}" in + ('fr') + message='Lʼarchive suivante nʼayant pas été fournie, lʼentrée de menu utilisera une icône générique : %s\n' + message="$message"'Cette archive peut être téléchargée depuis %s\n' + ;; + ('en'|*) + message='Due to the following archive missing, the menu entry will use a generic icon: %s\n' + message="$message"'This archive can be downloaded from %s\n' + ;; + esac + print_warning + printf "$message" "$ARCHIVE_OPTIONAL_ICONS" "$ARCHIVE_OPTIONAL_ICONS_URL" + printf '\n' +fi +ARCHIVE="$ARCHIVE_MAIN" + +# Extract game data + +mkdir --parents "${PKG_MAIN_PATH}${PATH_GAME}" +cp "$SOURCE_ARCHIVE" "${PKG_MAIN_PATH}${PATH_GAME}/1365 Linux 1.0" + +# Write launchers + +launchers_write 'APP_MAIN' + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-a-bird-story.sh play.it-2.12.1/play.it-2/games/play-a-bird-story.sh --- play.it-2.12.0/play.it-2/games/play-a-bird-story.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-a-bird-story.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -94,16 +94,25 @@ target_version='2.4' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-a-boy-and-his-blob.sh play.it-2.12.1/play.it-2/games/play-a-boy-and-his-blob.sh --- play.it-2.12.0/play.it-2/games/play-a-boy-and-his-blob.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-a-boy-and-his-blob.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -84,16 +84,25 @@ target_version='2.5' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-action-henk.sh play.it-2.12.1/play.it-2/games/play-action-henk.sh --- play.it-2.12.0/play.it-2/games/play-action-henk.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-action-henk.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180419.1 +script_version=20200918.1 # Set game-specific variables @@ -82,16 +82,25 @@ target_version='2.7' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-age-of-wonders-1.sh play.it-2.12.1/play.it-2/games/play-age-of-wonders-1.sh --- play.it-2.12.0/play.it-2/games/play-age-of-wonders-1.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-age-of-wonders-1.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,160 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2018-2020, BetaRays +# 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. +### + +### +# Age of Wonders +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20200926.4 + +# Set game-specific variables + +GAME_ID='age-of-wonders-1' +GAME_NAME='Age of Wonders' + +ARCHIVES_LIST=' +ARCHIVE_GOG_1 +ARCHIVE_GOG_0' + +ARCHIVE_GOG_1='setup_age_of_wonders_1.36.0053_(22161).exe' +ARCHIVE_GOG_1_URL='https://www.gog.com/game/age_of_wonders' +ARCHIVE_GOG_1_MD5='e9c045b1a915d0af6f838ec0ad27d910' +ARCHIVE_GOG_1_VERSION='1.36.0053-gog22161' +ARCHIVE_GOG_1_SIZE='320000' +ARCHIVE_GOG_1_TYPE='innosetup' + +ARCHIVE_GOG_0='setup_age_of_wonders_2.0.0.13.exe' +ARCHIVE_GOG_0_MD5='9ee2ccc5223c41306cf6695fc09a5634' +ARCHIVE_GOG_0_VERSION='1.36.0053-gog2.0.0.13' +ARCHIVE_GOG_0_SIZE='330000' +ARCHIVE_GOG_0_TYPE='innosetup' + +ARCHIVE_GAME_BIN_PATH='.' +ARCHIVE_GAME_BIN_FILES='aow.exe aowed.exe' + +ARCHIVE_DOC_DATA_PATH='.' +ARCHIVE_DOC_DATA_FILES='readme.txt quickstart.pdf' + +ARCHIVE_GAME0_DATA_PATH='.' +ARCHIVE_GAME0_DATA_FILES='*.wav *.dpl int dict edimages images release scenario sfx songs tcmaps' + +# Keep compatibility with old archives +ARCHIVE_GAME_BIN_PATH_GOG_0='app' +ARCHIVE_DOC_DATA_PATH_GOG_0='app' +ARCHIVE_GAME0_DATA_PATH_GOG_0='app' + +DATA_DIRS='./emailin ./emailout ./save ./user' + +# "icodecs" winetricks verb is required for correct intro movie playback +APP_WINETRICKS='icodecs' + + +APP_MAIN_TYPE='wine' +APP_MAIN_EXE='aow.exe' +APP_MAIN_ICON='aow.exe' + +APP_EDITOR_ID="${GAME_ID}_editor" +APP_EDITOR_TYPE='wine' +APP_EDITOR_EXE='aowed.exe' +APP_EDITOR_ICON='aowed.exe' +APP_EDITOR_NAME="$GAME_NAME - editor" + +PACKAGES_LIST='PKG_BIN PKG_DATA' + +PKG_DATA_ID="${GAME_ID}-data" +PKG_DATA_DESCRIPTION='data' + +PKG_BIN_ARCH='32' +PKG_BIN_DEPS="$PKG_DATA_ID wine glx" + +# Load common functions + +target_version='2.12' + +if [ -z "$PLAYIT_LIB2" ]; then + for path in \ + "$PWD" \ + "${XDG_DATA_HOME:="$HOME/.local/share"}/play.it" \ + '/usr/local/share/games/play.it' \ + '/usr/local/share/play.it' \ + '/usr/share/games/play.it' \ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +prepare_package_layout + +# Extract game icons + +PKG='PKG_BIN' +icons_get_from_package 'APP_MAIN' 'APP_EDITOR' +icons_move_to 'PKG_DATA' + +# Clean up temporary files + +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Write launchers + +PKG='PKG_BIN' +launchers_write 'APP_MAIN' 'APP_EDITOR' + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-a-good-snowman-is-hard-to-build.sh play.it-2.12.1/play.it-2/games/play-a-good-snowman-is-hard-to-build.sh --- play.it-2.12.0/play.it-2/games/play-a-good-snowman-is-hard-to-build.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-a-good-snowman-is-hard-to-build.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -90,16 +90,25 @@ target_version='2.5' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-airline-tycoon-deluxe.sh play.it-2.12.1/play.it-2/games/play-airline-tycoon-deluxe.sh --- play.it-2.12.0/play.it-2/games/play-airline-tycoon-deluxe.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-airline-tycoon-deluxe.sh 2020-11-25 15:14:43.000000000 +0000 @@ -33,7 +33,7 @@ # build native Linux packages from the original installers ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -86,16 +86,25 @@ target_version='2.4' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-alan-wakes-american-nightmare.sh play.it-2.12.1/play.it-2/games/play-alan-wakes-american-nightmare.sh --- play.it-2.12.0/play.it-2/games/play-alan-wakes-american-nightmare.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-alan-wakes-american-nightmare.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to mopi@dotslashplay.it ### -script_version=20180401.2 +script_version=20200918.1 # Set game-specific variables @@ -76,16 +76,25 @@ target_version='2.7' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-a-morticians-tale.sh play.it-2.12.1/play.it-2/games/play-a-morticians-tale.sh --- play.it-2.12.0/play.it-2/games/play-a-morticians-tale.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-a-morticians-tale.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,139 @@ +#!/bin/sh -e +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2016-2020, Mopi +# 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. +### + +### +# A Mortician’s Tale +# build native Linux packages from the original installers +# send your bug reports to mopi@dotslashplay.it +### + +script_version=20200925.1 + +# Set game-specific variables + +GAME_ID='a-morticians-tale' +GAME_NAME='A Mortician’s Tale' + +ARCHIVES_LIST='ARCHIVE_ITCH_32 ARCHIVE_ITCH_64' + +ARCHIVE_ITCH_32="A Mortician's Tale - Windows x86.zip" +ARCHIVE_ITCH_32_URL='https://laundrybear.itch.io/morticians-tale' +ARCHIVE_ITCH_32_MD5='02a3fbfd4121a88f462b6b3884d6a75e' +ARCHIVE_ITCH_32_SIZE='180000' +ARCHIVE_ITCH_32_VERSION='1.0-itch' + +ARCHIVE_ITCH_64="A Mortician's Tale - Windows x64.zip" +ARCHIVE_ITCH_64_URL='https://laundrybear.itch.io/morticians-tale' +ARCHIVE_ITCH_64_MD5='581b86b6e5f20eeb497b07659aaa0991' +ARCHIVE_ITCH_64_SIZE='180000' +ARCHIVE_ITCH_64_VERSION='1.0-itch' + +ARCHIVE_GAME_BIN_PATH='.' +ARCHIVE_GAME_BIN_FILES='morticianstale.exe UnityPlayer.dll morticianstale_Data/Mono morticianstale_Data/Plugins' + +ARCHIVE_GAME_DATA_PATH='.' +ARCHIVE_GAME_DATA_FILES='morticianstale_Data' + +APP_MAIN_TYPE='wine' +APP_MAIN_EXE='morticianstale.exe' +APP_MAIN_ICON='morticianstale.exe' + +PACKAGES_LIST='PKG_DATA PKG_BIN' + +PKG_DATA_ID="${GAME_ID}-data" +PKG_DATA_DESCRIPTION='data' + +PKG_BIN_ARCH_ITCH_32='32' +PKG_BIN_ARCH_ITCH_64='64' +PKG_BIN_DEPS="$PKG_DATA_ID wine" + +# Load common functions + +target_version='2.12' + +if [ -z "$PLAYIT_LIB2" ]; then + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +prepare_package_layout + +# Get icon + +PKG='PKG_BIN' +icons_get_from_package 'APP_MAIN' +icons_move_to 'PKG_DATA' + +# Clean up temporary directories + +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Write launchers + +PKG='PKG_BIN' +launchers_write 'APP_MAIN' + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-a-new-beginning.sh play.it-2.12.1/play.it-2/games/play-a-new-beginning.sh --- play.it-2.12.0/play.it-2/games/play-a-new-beginning.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-a-new-beginning.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180802.1 +script_version=20200918.1 # Set game-specific variables @@ -83,16 +83,25 @@ target_version='2.7' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-annas-quest.sh play.it-2.12.1/play.it-2/games/play-annas-quest.sh --- play.it-2.12.0/play.it-2/games/play-annas-quest.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-annas-quest.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -90,16 +90,25 @@ target_version='2.4' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-anno-1503.sh play.it-2.12.1/play.it-2/games/play-anno-1503.sh --- play.it-2.12.0/play.it-2/games/play-anno-1503.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-anno-1503.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to contact@dotslashplay.it ### -script_version=20200529.1 +script_version=20200918.1 # Set game-specific variables @@ -77,16 +77,25 @@ target_version='2.3' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-antichamber.sh play.it-2.12.1/play.it-2/games/play-antichamber.sh --- play.it-2.12.0/play.it-2/games/play-antichamber.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-antichamber.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -79,16 +79,25 @@ target_version='2.3' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-aquaria.sh play.it-2.12.1/play.it-2/games/play-aquaria.sh --- play.it-2.12.0/play.it-2/games/play-aquaria.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-aquaria.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -88,16 +88,25 @@ target_version='2.3' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-aragami.sh play.it-2.12.1/play.it-2/games/play-aragami.sh --- play.it-2.12.0/play.it-2/games/play-aragami.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-aragami.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,26 +34,42 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20201016.1 # Set game-specific variables GAME_ID='aragami' GAME_NAME='Aragami' -ARCHIVES_LIST='ARCHIVE_GOG ARCHIVE_HUMBLE' - -ARCHIVE_GOG='gog_aragami_2.9.0.12.sh' -ARCHIVE_GOG_URL='https://www.gog.com/game/aragami' -ARCHIVE_GOG_MD5='42d0952de9b0373786f2902aa596b4ff' -ARCHIVE_GOG_SIZE='6800000' -ARCHIVE_GOG_VERSION='01.08-gog2.9.0.12' - -ARCHIVE_HUMBLE='aragami_01_08_Linux.zip' -ARCHIVE_HUMBLE_URL='https://www.humblebundle.com/store/aragami' -ARCHIVE_HUMBLE_MD5='4be0b7f674eec62184df216fcaba77b5' -ARCHIVE_HUMBLE_SIZE='6800000' -ARCHIVE_HUMBLE_VERSION='01.08-humble170503' +ARCHIVES_LIST=' +ARCHIVE_GOG_1 +ARCHIVE_GOG_0 +ARCHIVE_HUMBLE_0' + +ARCHIVE_GOG_1='aragami_en_01_09_20943.sh' +ARCHIVE_GOG_1_URL='https://www.gog.com/game/aragami' +ARCHIVE_GOG_1_MD5='46c8315350a4036dcc09b6c3946ddc02' +ARCHIVE_GOG_1_SIZE='6800000' +ARCHIVE_GOG_1_VERSION='01.09-gog20943' +ARCHIVE_GOG_1_TYPE='mojosetup' + +ARCHIVE_GOG_0='gog_aragami_2.9.0.12.sh' +ARCHIVE_GOG_0_MD5='42d0952de9b0373786f2902aa596b4ff' +ARCHIVE_GOG_0_SIZE='6800000' +ARCHIVE_GOG_0_VERSION='01.08-gog2.9.0.12' +ARCHIVE_GOG_0_TYPE='mojosetup' + +ARCHIVE_HUMBLE_0='aragami_01_08_Linux.zip' +ARCHIVE_HUMBLE_0_URL='https://www.humblebundle.com/store/aragami' +ARCHIVE_HUMBLE_0_MD5='4be0b7f674eec62184df216fcaba77b5' +ARCHIVE_HUMBLE_0_SIZE='6800000' +ARCHIVE_HUMBLE_0_VERSION='01.08-humble170503' + +ARCHIVE_GOG_DLC='aragami_nightfall_dlc_en_gog_1_21278.sh' +ARCHIVE_GOG_DLC_MD5='40920a28f030147a524e5ac89e2cf14b' +ARCHIVE_GOG_DLC_SIZE='7400000' +ARCHIVE_GOG_DLC_TYPE='mojosetup' +ARCHIVE_GOG_DLC_URL='https://www.gog.com/game/aragami_nightfall' ARCHIVE_GAME_BIN32_PATH_GOG='data/noarch/game' ARCHIVE_GAME_BIN32_PATH_HUMBLE='.' @@ -94,23 +110,45 @@ target_version='2.3' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" +# Load extra archives (DLC) + +ARCHIVE_MAIN="$ARCHIVE" +set_archive "ARCHIVE_DLC" "ARCHIVE_GOG_DLC" +ARCHIVE="$ARCHIVE_MAIN" + # Extract game data extract_data_from "$SOURCE_ARCHIVE" +if [ "$ARCHIVE_DLC" ]; then + ( + # shellcheck disable=SC2030 + ARCHIVE='ARCHIVE_DLC' + extract_data_from "$ARCHIVE_DLC" + ) +fi for PKG in $PACKAGES_LIST; do organize_data "GAME_${PKG#PKG_}" "$PATH_GAME" diff -Nru play.it-2.12.0/play.it-2/games/play-art-of-fighting-2.sh play.it-2.12.1/play.it-2/games/play-art-of-fighting-2.sh --- play.it-2.12.0/play.it-2/games/play-art-of-fighting-2.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-art-of-fighting-2.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,135 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine Le Gonidec +# Copyright (c) 2020, HS-157 +# 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. +### + +### +# ART OF FIGHTING 2 +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20201010.1 + +# Set game-specific variables + +GAME_ID='art-of-fighting-2' +GAME_NAME="ART OF FIGHTING 2" + +ARCHIVE_HUMBLE='ArtOfFighting2_jan2016.sh' +ARCHIVE_HUMBLE_TYPE='mojosetup' +ARCHIVE_HUMBLE_URL='https://www.humblebundle.com/store/art-of-fighting-2' +ARCHIVE_HUMBLE_MD5='f50a3d75ecea5a1fbbfde30cd876d674' +ARCHIVE_HUMBLE_VERSION='1.0-humblejan2016' +ARCHIVE_HUMBLE_SIZE='44000' + +ARCHIVE_GAME_BIN32_PATH_HUMBLE='data/x86' +ARCHIVE_GAME_BIN32_FILES='NeogeoEmu.bin.x86 lib' + +ARCHIVE_GAME_BIN64_PATH_HUMBLE='data/x86_64' +ARCHIVE_GAME_BIN64_FILES='NeogeoEmu.bin.x86_64 lib64' + +ARCHIVE_GAME_DATA_PATH_HUMBLE='data/noarch' +ARCHIVE_GAME_DATA_FILES='*' + +APP_MAIN_TYPE='native' +APP_MAIN_ICON='ArtOfFighting2.png' +APP_MAIN_EXE_BIN32='NeogeoEmu.bin.x86' +APP_MAIN_EXE_BIN64='NeogeoEmu.bin.x86_64' + +DATA_FILES='*.ini *.rml *.txt' + +PACKAGES_LIST='PKG_BIN32 PKG_BIN64 PKG_DATA' + +PKG_DATA_ID="${GAME_ID}-data" +PKG_DATA_DESCRIPTION='data' + +PKG_BIN32_ARCH='32' +PKG_BIN32_DEPS="$PKG_DATA_ID glibc libstdc++ sdl2 glx alsa libudev1" + +PKG_BIN64_ARCH='64' +PKG_BIN64_DEPS="$PKG_BIN32_DEPS" + +# Load common functions + +target_version='2.11' + +if [ -z "$PLAYIT_LIB2" ]; then + for path in \ + "$PWD" \ + "${XDG_DATA_HOME:="$HOME/.local/share"}/play.it" \ + '/usr/local/share/games/play.it' \ + '/usr/local/share/play.it' \ + '/usr/share/games/play.it' \ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +prepare_package_layout +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Extract icon + +PKG='PKG_DATA' +icons_get_from_package 'APP_MAIN' + +# Write launchers +for PKG in 'PKG_BIN32' 'PKG_BIN64'; do + launchers_write 'APP_MAIN' +done + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-ascendant.sh play.it-2.12.1/play.it-2/games/play-ascendant.sh --- play.it-2.12.0/play.it-2/games/play-ascendant.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-ascendant.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -84,16 +84,25 @@ target_version='2.1' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-a-short-hike.sh play.it-2.12.1/play.it-2/games/play-a-short-hike.sh --- play.it-2.12.0/play.it-2/games/play-a-short-hike.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-a-short-hike.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,143 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2016-2020, Mopi +# 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. +### + +### +# A Short Hike +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20200923.2 + +# Set game-specific variables + +GAME_ID='a-short-hike' +GAME_NAME='A Short Hike' + +ARCHIVES_LIST=' +ARCHIVE_ITCH_0' + +ARCHIVE_ITCH_0='AShortHike_Linux_v14.zip' +ARCHIVE_ITCH_0_URL='https://adamgryu.itch.io/a-short-hike' +ARCHIVE_ITCH_0_MD5='c9d3acffe7af64d486a5974457235327' +ARCHIVE_ITCH_0_SIZE='310000' +ARCHIVE_ITCH_0_VERSION='1.4.1-itch1' + +ARCHIVE_GAME_BIN32_PATH='.' +ARCHIVE_GAME_BIN32_FILES='AShortHike.x86 AShortHike_Data/*/x86' + +ARCHIVE_GAME_BIN64_PATH='.' +ARCHIVE_GAME_BIN64_FILES='AShortHike.x86_64 AShortHike_Data/*/x86_64' + +ARCHIVE_GAME_DATA_PATH='.' +ARCHIVE_GAME_DATA_FILES='AShortHike_Data' + +DATA_DIRS='./logs ./UserData' + +APP_MAIN_TYPE='native' +# shellcheck disable=SC2016 +APP_MAIN_PRERUN='export LANG=C' +APP_MAIN_EXE_BIN32='AShortHike.x86' +APP_MAIN_EXE_BIN64='AShortHike.x86_64' +# shellcheck disable=SC2016 +APP_MAIN_OPTIONS='-logFile ./logs/$(date +%F-%R).log' +APP_MAIN_ICON='AShortHike_Data/Resources/UnityPlayer.png' + +PACKAGES_LIST='PKG_BIN32 PKG_BIN64 PKG_DATA' + +PKG_DATA_ID="${GAME_ID}-data" +PKG_DATA_DESCRIPTION='data' + +PKG_BIN32_ARCH='32' +PKG_BIN32_DEPS="$PKG_DATA_ID glibc libstdc++" + +PKG_BIN64_ARCH='64' +PKG_BIN64_DEPS="$PKG_BIN32_DEPS" + +# Load common functions + +target_version='2.12' + +if [ -z "$PLAYIT_LIB2" ]; then + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +prepare_package_layout +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Get icon + +PKG='PKG_DATA' +icons_get_from_package 'APP_MAIN' + +# Write launchers + +for PKG in 'PKG_BIN32' 'PKG_BIN64'; do + launchers_write 'APP_MAIN' +done + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-assault-android-cactus.sh play.it-2.12.1/play.it-2/games/play-assault-android-cactus.sh --- play.it-2.12.0/play.it-2/games/play-assault-android-cactus.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-assault-android-cactus.sh 2020-11-25 15:14:43.000000000 +0000 @@ -35,19 +35,33 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20190622.4 +script_version=20200529.1 # Set game-specific variables GAME_ID='assault-android-cactus' GAME_NAME='Assault Android Cactus' -ARCHIVE_PLAYISM='AssaultAndroidCactus_linux_Ver1.0_0401.zip' -ARCHIVE_PLAYISM_URL='https://playism.com/product/assault-android-cactus' -ARCHIVE_PLAYISM_MD5='7a6e18fd525c46603cdd3f19f945d44b' -ARCHIVE_PLAYISM_VERSION='1.0.0401-playism' -ARCHIVE_PLAYISM_SIZE='1400000' -ARCHIVE_PLAYISM_TYPE='zip' +ARCHIVES_LIST=' +ARCHIVE_PLAYISM_1 +ARCHIVE_PLAYISM_0 +' + +ARCHIVE_PLAYISM_1='AssaultAndroidCactus_linux_20200121.zip' +ARCHIVE_PLAYISM_1_URL='https://playism.com/product/assault-android-cactus' +ARCHIVE_PLAYISM_1_MD5='015e7a107514339abfbd05d831bc9e91' +ARCHIVE_PLAYISM_1_VERSION='20200121-playism' +ARCHIVE_PLAYISM_1_SIZE='1600000' +ARCHIVE_PLAYISM_1_TYPE='zip' + +ARCHIVE_PLAYISM_0='AssaultAndroidCactus_linux_Ver1.0_0401.zip' +ARCHIVE_PLAYISM_0_MD5='7a6e18fd525c46603cdd3f19f945d44b' +ARCHIVE_PLAYISM_0_VERSION='1.0.0401-playism' +ARCHIVE_PLAYISM_0_SIZE='1400000' +ARCHIVE_PLAYISM_0_TYPE='zip' + +ARCHIVE_DOC_DATA_PATH='.' +ARCHIVE_DOC_DATA_FILES='*.txt' ARCHIVE_GAME_BIN32_PATH='.' ARCHIVE_GAME_BIN32_FILES='cactus.x86 cactus_Data/*/x86' @@ -84,12 +98,14 @@ PKG_BIN32_ARCH='32' PKG_BIN32_DEPS="$PKG_DATA_ID glibc libstdc++ glx xcursor libxrandr libudev1 alsa" +PKG_BIN32_DEPS_PLAYISM_1="$PKG_BIN32_DEPS sdl2" PKG_BIN32_DEPS_ARCH='lib32-libx11' PKG_BIN32_DEPS_DEB='libx11-6' PKG_BIN32_DEPS_GENTOO='x11-libs/libX11[abi_x86_32]' PKG_BIN64_ARCH='64' PKG_BIN64_DEPS="$PKG_BIN32_DEPS" +PKG_BIN64_DEPS_PLAYISM_1="$PKG_BIN32_DEPS_PLAYISM_1" PKG_BIN64_DEPS_ARCH='libx11' PKG_BIN64_DEPS_DEB="$PKG_BIN32_DEPS_DEB" PKG_BIN64_DEPS_GENTOO='x11-libs/libX11' diff -Nru play.it-2.12.0/play.it-2/games/play-a-story-about-my-uncle.sh play.it-2.12.1/play.it-2/games/play-a-story-about-my-uncle.sh --- play.it-2.12.0/play.it-2/games/play-a-story-about-my-uncle.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-a-story-about-my-uncle.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180130.1 +script_version=20200918.1 # Set game-specific variables @@ -88,16 +88,25 @@ target_version='2.5' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-atlantis-1-the-lost-tales.sh play.it-2.12.1/play.it-2/games/play-atlantis-1-the-lost-tales.sh --- play.it-2.12.0/play.it-2/games/play-atlantis-1-the-lost-tales.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-atlantis-1-the-lost-tales.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -100,16 +100,25 @@ target_version='2.4' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-a-virus-named-tom.sh play.it-2.12.1/play.it-2/games/play-a-virus-named-tom.sh --- play.it-2.12.0/play.it-2/games/play-a-virus-named-tom.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-a-virus-named-tom.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -85,16 +85,25 @@ target_version='2.4' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-baldurs-gate-1.sh play.it-2.12.1/play.it-2/games/play-baldurs-gate-1.sh --- play.it-2.12.0/play.it-2/games/play-baldurs-gate-1.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-baldurs-gate-1.sh 2020-11-25 15:14:43.000000000 +0000 @@ -31,66 +31,79 @@ ### # Baldur’s Gate # build native packages from the original installers -# send your bug reports to vv221@dotslashplay.it +# send your bug reports to contact@dotslashplay.it ### -script_version=20190930.3 +script_version=20200803.5 # Set game-specific variables -SCRIPT_DEPS='unix2dos' +SCRIPT_DEPS='dos2unix' GAME_ID='baldurs-gate-1' GAME_NAME='Baldurʼs Gate' -ARCHIVES_LIST='ARCHIVE_GOG_EN ARCHIVE_GOG_EN_OLD0 ARCHIVE_GOG_FR ARCHIVE_GOG_FR_OLD0' - -ARCHIVE_GOG_EN='baldur_s_gate_the_original_saga_gog_3_23532.sh' -ARCHIVE_GOG_EN_URL='https://www.gog.com/game/baldurs_gate_enhanced_edition' -ARCHIVE_GOG_EN_MD5='f1750a05b52a5c8bb4810f0dbdb92091' -ARCHIVE_GOG_EN_VERSION='1.3.5521-gog23532' -ARCHIVE_GOG_EN_SIZE='3400000' -ARCHIVE_GOG_EN_TYPE='mojosetup' - -ARCHIVE_GOG_EN_OLD0='gog_baldur_s_gate_the_original_saga_2.1.0.10.sh' -ARCHIVE_GOG_EN_OLD0_MD5='6810388ef67960dded254db5750f9aa5' -ARCHIVE_GOG_EN_OLD0_VERSION='1.3.5521-gog2.1.0.10' -ARCHIVE_GOG_EN_OLD0_SIZE='3100000' - -ARCHIVE_GOG_FR='baldur_s_gate_the_original_saga_french_gog_3_23532.sh' -ARCHIVE_GOG_FR_URL='https://www.gog.com/game/baldurs_gate_enhanced_edition' -ARCHIVE_GOG_FR_MD5='09073e75602383c2c90d7c82436a8d91' -ARCHIVE_GOG_FR_VERSION='1.3.5521-gog23532' -ARCHIVE_GOG_FR_SIZE='3400000' -ARCHIVE_GOG_FR_TYPE='mojosetup' - -ARCHIVE_GOG_FR_OLD0='gog_baldur_s_gate_the_original_saga_french_2.1.0.10.sh' -ARCHIVE_GOG_FR_OLD0_MD5='87ed67decb79e497b8c0ce9e0b16ac4c' -ARCHIVE_GOG_FR_OLD0_VERSION='1.3.5521-gog2.1.0.10' -ARCHIVE_GOG_FR_OLD0_SIZE='3100000' +ARCHIVES_LIST=' +ARCHIVE_GOG_EN_1 +ARCHIVE_GOG_FR_1 +ARCHIVE_GOG_PL_1 +ARCHIVE_GOG_EN_0 +ARCHIVE_GOG_FR_0' + +ARCHIVE_GOG_EN_1='baldur_s_gate_the_original_saga_gog_3_23532.sh' +ARCHIVE_GOG_EN_1_URL='https://www.gog.com/game/baldurs_gate_enhanced_edition' +ARCHIVE_GOG_EN_1_MD5='f1750a05b52a5c8bb4810f0dbdb92091' +ARCHIVE_GOG_EN_1_VERSION='1.3.5521-gog23532' +ARCHIVE_GOG_EN_1_SIZE='3400000' +ARCHIVE_GOG_EN_1_TYPE='mojosetup' + +ARCHIVE_GOG_FR_1='baldur_s_gate_the_original_saga_french_gog_3_23532.sh' +ARCHIVE_GOG_FR_1_URL='https://www.gog.com/game/baldurs_gate_enhanced_edition' +ARCHIVE_GOG_FR_1_MD5='09073e75602383c2c90d7c82436a8d91' +ARCHIVE_GOG_FR_1_VERSION='1.3.5521-gog23532' +ARCHIVE_GOG_FR_1_SIZE='3400000' +ARCHIVE_GOG_FR_1_TYPE='mojosetup' + +ARCHIVE_GOG_PL_1='baldur_s_gate_the_original_saga_polish_gog_3_23532.sh' +ARCHIVE_GOG_PL_1_URL='https://www.gog.com/game/baldurs_gate_enhanced_edition' +ARCHIVE_GOG_PL_1_MD5='9db5d4dd953e4bc7b42fbb6d0680437a' +ARCHIVE_GOG_PL_1_VERSION='1.3.5521-gog23532' +ARCHIVE_GOG_PL_1_SIZE='3400000' +ARCHIVE_GOG_PL_1_TYPE='mojosetup' + +ARCHIVE_GOG_EN_0='gog_baldur_s_gate_the_original_saga_2.1.0.10.sh' +ARCHIVE_GOG_EN_0_MD5='6810388ef67960dded254db5750f9aa5' +ARCHIVE_GOG_EN_0_VERSION='1.3.5521-gog2.1.0.10' +ARCHIVE_GOG_EN_0_SIZE='3100000' + +ARCHIVE_GOG_FR_0='gog_baldur_s_gate_the_original_saga_french_2.1.0.10.sh' +ARCHIVE_GOG_FR_0_MD5='87ed67decb79e497b8c0ce9e0b16ac4c' +ARCHIVE_GOG_FR_0_VERSION='1.3.5521-gog2.1.0.10' +ARCHIVE_GOG_FR_0_SIZE='3100000' ARCHIVE_DOC_L10N_PATH='data/noarch/docs' -ARCHIVE_DOC_L10N_FILES='end?user?license?agreement.txt installer_readme.txt manual*.pdf readme_totsc.txt readme.txt' - -ARCHIVE_DOC_DATA_PATH='data/noarch/docs' -ARCHIVE_DOC_DATA_FILES='map.pdf readme_patch.txt' +ARCHIVE_DOC_L10N_FILES='*' ARCHIVE_GAME_BIN_PATH_GOG_EN="data/noarch/prefix/drive_c/gog games/baldur's gate" ARCHIVE_GAME_BIN_PATH_GOG_FR="data/noarch/prefix/drive_c/gog games/baldur's gate (french)" -ARCHIVE_GAME_BIN_FILES='*.cfg bgmain.exe bgmain2.exe mconvert.exe keymap.ini override/*.dll' +ARCHIVE_GAME_BIN_PATH_GOG_PL="data/noarch/prefix/drive_c/gog games/baldur's gate (polish)" +ARCHIVE_GAME_BIN_FILES='*.cfg *.exe *.ini' ARCHIVE_GAME_L10N_PATH_GOG_EN="data/noarch/prefix/drive_c/gog games/baldur's gate" ARCHIVE_GAME_L10N_PATH_GOG_FR="data/noarch/prefix/drive_c/gog games/baldur's gate (french)" -ARCHIVE_GAME_L10N_FILES='*.tlk baldur.exe config.exe baldur.ini *save/*/*.wmp data/area000c.bif data/chasound.bif data/cresound.bif data/mpsounds.bif data/npcsound.bif movies/moviecd1.bif movies/moviecd2.bif movies/moviecd3.bif movies/moviecd4.bif override/*.wav sounds/*.wav' +ARCHIVE_GAME_L10N_PATH_GOG_PL="data/noarch/prefix/drive_c/gog games/baldur's gate (polish)" +ARCHIVE_GAME_L10N_FILES='*.tlk save mpsave override sounds data/chasound.bif data/cresound.bif data/mpsounds.bif data/npcsound.bif data/sfxsound.bif movies/moviecd1.bif movies/moviecd2.bif movies/moviecd3.bif movies/moviecd4.bif' ARCHIVE_GAME_DATA_PATH_GOG_EN="data/noarch/prefix/drive_c/gog games/baldur's gate" ARCHIVE_GAME_DATA_PATH_GOG_FR="data/noarch/prefix/drive_c/gog games/baldur's gate (french)" -ARCHIVE_GAME_DATA_FILES='*.key characters music scripts *save/*/*.bmp *save/*/*.gam *save/*/*.sav data/area000a.bif data/area000b.bif data/area000d.bif data/area000e.bif data/area000f.bif data/area000g.bif data/area000h.bif data/area01* data/area02* data/area03* data/area04* data/area05* data/area06* data/area07* data/area08* data/area09* data/area1* data/area2* data/area3* data/area4* data/area5* data/areas.bif data/armisc.bif data/chaanim.bif data/creanim.bif data/creature.bif data/default.bif data/dialog.bif data/effects.bif data/exarmaps.bif data/expareas.bif data/gui.bif data/items.bif data/mpcreanm.bif data/mpgui.bif data/objanim.bif data/rndencnt.bif data/scripts.bif data/sfxsound.bif data/spells.bif movies/moviecd5.bif movies/moviecd6.bif movies/movies.bif override/*.2da override/*.are override/*.bam override/*.bcs override/*.bmp override/*.cre override/*.dlg override/*.itm override/*.mos override/*.spl override/*.sto override/*.wed override/*.wmp sounds/*.txt' +ARCHIVE_GAME_DATA_PATH_GOG_PL="data/noarch/prefix/drive_c/gog games/baldur's gate (polish)" +ARCHIVE_GAME_DATA_FILES='*.key characters music scripts data movies' -CONFIG_FILES='./*.ini' +CONFIG_FILES='*.ini' DATA_DIRS='./characters ./mpsave ./save' -APP_WINETRICKS='vd=800x600 csmt=off' +# Disable the multi-threaded command stream feature, as it has a very severe impact on performances +APP_WINETRICKS='csmt=off' APP_MAIN_TYPE='wine' APP_MAIN_EXE='bgmain2.exe' @@ -105,22 +118,28 @@ PACKAGES_LIST='PKG_BIN PKG_L10N PKG_DATA' +# Localization package — common properties PKG_L10N_ID="${GAME_ID}-l10n" -PKG_L10N_ID_GOG_EN="${PKG_L10N_ID}-en" -PKG_L10N_ID_GOG_FR="${PKG_L10N_ID}-fr" PKG_L10N_PROVIDE="$PKG_L10N_ID" +# Localization package — English version +PKG_L10N_ID_GOG_EN="${PKG_L10N_ID}-en" PKG_L10N_DESCRIPTION_GOG_EN='English localization' +# Localization package — French version +PKG_L10N_ID_GOG_FR="${PKG_L10N_ID}-fr" PKG_L10N_DESCRIPTION_GOG_FR='French localization' +# Localization package — Polish version +PKG_L10N_ID_GOG_PL="${PKG_L10N_ID}-pl" +PKG_L10N_DESCRIPTION_GOG_PL='Polish localization' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' -# Easier upgrade from packages generated with pre-20180930.2 scripts -PKG_DATA_PROVIDE='baldurs-gate-data' PKG_BIN_ARCH='32' PKG_BIN_DEPS="$PKG_L10N_ID $PKG_DATA_ID wine winetricks glx libxrandr" + # Easier upgrade from packages generated with pre-20180930.2 scripts PKG_BIN_PROVIDE='baldurs-gate' +PKG_DATA_PROVIDE='baldurs-gate-data' # Load common functions @@ -156,33 +175,61 @@ tolower "$PLAYIT_WORKDIR/gamedata/data/noarch/docs" tolower "$PLAYIT_WORKDIR/gamedata/data/noarch/prefix/drive_c" prepare_package_layout -rm --recursive "$PLAYIT_WORKDIR/gamedata" # Extract icons -PKG='PKG_L10N' +PKG='PKG_BIN' icons_get_from_package 'APP_MAIN' 'APP_CONFIG' move_icons_to 'PKG_DATA' +# Clean up temporary files + +rm --recursive "$PLAYIT_WORKDIR/gamedata" + # Tweak paths in baldur.ini -file="${PKG_L10N_PATH}${PATH_GAME}/baldur.ini" -# shellcheck disable=SC1003 -pattern='s/^\(.D.:\)=.*/\1=C:\\'"$GAME_ID"'\\/' -if [ $DRY_RUN -eq 0 ]; then - sed --in-place "$pattern" "$file" - unix2dos "$file" > /dev/null 2>&1 -fi +### +# TODO +# A library-provided function for .ini files edition could be useful +### + +ini_file="${PKG_BIN_PATH}${PATH_GAME}/baldur.ini" +path_game='C:\\'"$GAME_ID"'\\' +path_data='C:\\'"$GAME_ID"'\\data\\' +pattern="s/HD0:=.\\+/HD0:=$path_game/" +pattern="$pattern;s/CD1:=.*/CD1:=$path_data/" +pattern="$pattern;s/CD2:=.*/CD2:=$path_data/" +pattern="$pattern;s/CD3:=.*/CD3:=$path_data/" +pattern="$pattern;s/CD4:=.*/CD4:=$path_data/" +pattern="$pattern;s/CD5:=.*/CD5:=$path_data/" +pattern="$pattern;s/CD6:=.*/CD6:=$path_data/" +dos2unix "$ini_file" >/dev/null 2>&1 +sed --in-place "$pattern" "$ini_file" +unix2dos "$ini_file" >/dev/null 2>&1 # Use more sensible default settings for modern hardware -file="${PKG_L10N_PATH}${PATH_GAME}/baldur.ini" -pattern='s/^\(Path Search Nodes\)=.*/\1=400000/' -pattern="$pattern"';s/^\(CacheSize\)=.*/\1=1024/' -if [ $DRY_RUN -eq 0 ]; then - sed --in-place "$pattern" "$file" - unix2dos "$file" > /dev/null 2>&1 -fi +ini_file="${PKG_BIN_PATH}${PATH_GAME}/baldur.ini" +ini_field='Path Search Nodes' +ini_value='400000' +pattern="s/^$ini_field=.*/$ini_field=$ini_value/" +ini_field='CacheSize' +ini_value='1024' +pattern="$pattern;s/^$ini_field=.*/$ini_field=$ini_value/" +dos2unix "$ini_file" >/dev/null 2>&1 +sed --in-place "$pattern" "$ini_file" +unix2dos "$ini_file" >/dev/null 2>&1 + +# Run the game in a window + +ini_file="${PKG_BIN_PATH}${PATH_GAME}/baldur.ini" +ini_section='\[Program Options\]' +ini_field='Full Screen' +ini_value='0' +pattern="s/^$ini_section$/&\\n$ini_field=$ini_value/" +dos2unix "$ini_file" >/dev/null 2>&1 +sed --in-place "$pattern" "$ini_file" +unix2dos "$ini_file" >/dev/null 2>&1 # Write launchers diff -Nru play.it-2.12.0/play.it-2/games/play-baldurs-gate-2.sh play.it-2.12.1/play.it-2/games/play-baldurs-gate-2.sh --- play.it-2.12.0/play.it-2/games/play-baldurs-gate-2.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-baldurs-gate-2.sh 2020-11-25 15:14:43.000000000 +0000 @@ -1,4 +1,4 @@ -#!/bin/sh -e +#!/bin/sh set -o errexit ### @@ -29,61 +29,65 @@ ### ### -# Baldur’s Gate 2 +# Baldurʼs Gate Ⅱ # build native packages from the original installers -# send your bug reports to vv221@dotslashplay.it +# send your bug reports to contact@dotslashplay.it ### -script_version=20181028.1 +script_version=20200801.9 # Set game-specific variables -SCRIPT_DEPS='unix2dos' - GAME_ID='baldurs-gate-2' -# shellcheck disable=SC1112 -GAME_NAME='Baldur’s Gate II' +GAME_NAME='Baldurʼs Gate Ⅱ' -ARCHIVES_LIST='ARCHIVE_GOG_EN ARCHIVE_GOG_EN_OLD0 ARCHIVE_GOG_FR ARCHIVE_GOG_FR_OLD0' +# unix2dos is used for baldur.ini edition +SCRIPT_DEPS='unix2dos' -ARCHIVE_GOG_EN='baldur_s_gate_2_complete_gog_3_23651.sh' -ARCHIVE_GOG_EN_URL='https://www.gog.com/game/baldurs_gate_2_enhanced_edition' -ARCHIVE_GOG_EN_MD5='030a61ce961ac88cd9506f1fd42135d6' -ARCHIVE_GOG_EN_VERSION='2.5.26498-gog23651' -ARCHIVE_GOG_EN_SIZE='3400000' -ARCHIVE_GOG_EN_TYPE='mojosetup' - -ARCHIVE_GOG_EN_OLD0='gog_baldur_s_gate_2_complete_2.1.0.7.sh' -ARCHIVE_GOG_EN_OLD0_MD5='e92161d7fc0a2eea234b2c93760c9cdb' -ARCHIVE_GOG_EN_OLD0_VERSION='2.5.26498-gog2.1.0.7' -ARCHIVE_GOG_EN_OLD0_SIZE='3000000' - -ARCHIVE_GOG_FR='baldur_s_gate_2_complete_french_gog_3_23651.sh' -ARCHIVE_GOG_FR_URL='https://www.gog.com/game/baldurs_gate_2_enhanced_edition' -ARCHIVE_GOG_FR_MD5='c72eb1b9bae7109de6a7005b3dc44e2c' -ARCHIVE_GOG_FR_VERSION='2.5.26498-gog23651' -ARCHIVE_GOG_FR_SIZE='3400000' -ARCHIVE_GOG_FR_TYPE='mojosetup' - -ARCHIVE_GOG_FR_OLD0='gog_baldur_s_gate_2_complete_french_2.1.0.7.sh' -ARCHIVE_GOG_FR_OLD0_MD5='6551bda3d8c7330b7ad66842ac1d4ed4' -ARCHIVE_GOG_FR_OLD0_VERSION='2.5.26498-gog2.1.0.7' -ARCHIVE_GOG_FR_OLD0_SIZE='3000000' +ARCHIVES_LIST=' +ARCHIVE_GOG_EN_1 +ARCHIVE_GOG_FR_1 +ARCHIVE_GOG_EN_0 +ARCHIVE_GOG_FR_0' + +ARCHIVE_GOG_EN_1='baldur_s_gate_2_complete_gog_3_23651.sh' +ARCHIVE_GOG_EN_1_URL='https://www.gog.com/game/baldurs_gate_2_enhanced_edition' +ARCHIVE_GOG_EN_1_MD5='030a61ce961ac88cd9506f1fd42135d6' +ARCHIVE_GOG_EN_1_VERSION='2.5.26498-gog23651' +ARCHIVE_GOG_EN_1_SIZE='3400000' +ARCHIVE_GOG_EN_1_TYPE='mojosetup' + +ARCHIVE_GOG_FR_1='baldur_s_gate_2_complete_french_gog_3_23651.sh' +ARCHIVE_GOG_FR_1_URL='https://www.gog.com/game/baldurs_gate_2_enhanced_edition' +ARCHIVE_GOG_FR_1_MD5='c72eb1b9bae7109de6a7005b3dc44e2c' +ARCHIVE_GOG_FR_1_VERSION='2.5.26498-gog23651' +ARCHIVE_GOG_FR_1_SIZE='3400000' +ARCHIVE_GOG_FR_1_TYPE='mojosetup' + +ARCHIVE_GOG_EN_0='gog_baldur_s_gate_2_complete_2.1.0.7.sh' +ARCHIVE_GOG_EN_0_MD5='e92161d7fc0a2eea234b2c93760c9cdb' +ARCHIVE_GOG_EN_0_VERSION='2.5.26498-gog2.1.0.7' +ARCHIVE_GOG_EN_0_SIZE='3000000' + +ARCHIVE_GOG_FR_0='gog_baldur_s_gate_2_complete_french_2.1.0.7.sh' +ARCHIVE_GOG_FR_0_MD5='6551bda3d8c7330b7ad66842ac1d4ed4' +ARCHIVE_GOG_FR_0_VERSION='2.5.26498-gog2.1.0.7' +ARCHIVE_GOG_FR_0_SIZE='3000000' ARCHIVE_DOC_L10N_PATH_GOG_EN='data/noarch/docs/english' ARCHIVE_DOC_L10N_PATH_GOG_FR='data/noarch/docs/french' ARCHIVE_DOC_L10N_FILES='*' # Keep compatibility with old archives -ARCHIVE_DOC_L10N_PATH_GOG_EN_OLD0='data/noarch/docs' -ARCHIVE_DOC_L10N_PATH_GOG_FR_OLD0='data/noarch/docs' +ARCHIVE_DOC_L10N_PATH_GOG_EN_0='data/noarch/docs' +ARCHIVE_DOC_L10N_PATH_GOG_FR_0='data/noarch/docs' ARCHIVE_GAME_BIN_PATH_GOG_EN="data/noarch/prefix/drive_c/gog games/baldur's gate 2" ARCHIVE_GAME_BIN_PATH_GOG_FR="data/noarch/prefix/drive_c/gog games/baldur's gate 2 (french)" -ARCHIVE_GAME_BIN_FILES='baldur.exe bg*test.exe bgmain.exe charview.exe keymap.ini script?compiler/*.exe script?compiler/*.bat' +ARCHIVE_GAME_BIN_FILES='baldur.exe bg*test.exe bgconfig.exe bgmain.exe charview.exe keymap.ini script?compiler/*.exe script?compiler/*.bat' ARCHIVE_GAME_L10N_PATH_GOG_EN="data/noarch/prefix/drive_c/gog games/baldur's gate 2" ARCHIVE_GAME_L10N_PATH_GOG_FR="data/noarch/prefix/drive_c/gog games/baldur's gate 2 (french)" -ARCHIVE_GAME_L10N_FILES='*.tlk mplay* bgconfig.exe glsetup.exe autorun.ini baldur.ini lasnil32.dll chitin.key language.txt characters sounds override/*.wav override/ar0406.bcs override/baldur.bcs data/areas.bif data/chasound.bif data/cresound.bif data/desound.bif data/missound.bif data/movies/25movies.bif data/movies/movend.bif data/movies/movintro.bif data/npchd0so.bif data/*npcso* data/objanim.bif data/scripts.bif' +ARCHIVE_GAME_L10N_FILES='*.tlk mplay* glsetup.exe autorun.ini baldur.ini lasnil32.dll chitin.key language.txt characters sounds override/*.wav override/ar0406.bcs override/baldur.bcs data/areas.bif data/chasound.bif data/cresound.bif data/desound.bif data/missound.bif data/movies/25movies.bif data/movies/movend.bif data/movies/movintro.bif data/npchd0so.bif data/*npcso* data/objanim.bif data/scripts.bif' ARCHIVE_GAME0_DATA_PATH_GOG_EN="data/noarch/prefix/drive_c/gog games/baldur's gate 2/data" ARCHIVE_GAME0_DATA_PATH_GOG_FR="data/noarch/prefix/drive_c/gog games/baldur's gate 2 (french)/data" @@ -93,40 +97,44 @@ ARCHIVE_GAME1_DATA_PATH_GOG_FR="data/noarch/prefix/drive_c/gog games/baldur's gate 2 (french)" ARCHIVE_GAME1_DATA_FILES='*.ico *.mpi music scripts script?compiler override data' -CONFIG_FILES='./*.ini' +CONFIG_FILES='*.ini' DATA_DIRS='./characters ./mpsave ./save' -APP_WINETRICKS="vd=\$(xrandr|grep '\\*'|awk '{print \$1}')" +# Disable the multi-threaded command stream feature, as it has a very severe impact on performances +APP_WINETRICKS="$APP_WINETRICKS csmt=off" APP_MAIN_TYPE='wine' APP_MAIN_EXE='bgmain.exe' APP_MAIN_ICON='baldur.exe' APP_CONFIG_ID="${GAME_ID}_config" +APP_CONFIG_NAME="$GAME_NAME - configuration" +APP_CONFIG_CAT='Settings' APP_CONFIG_TYPE='wine' APP_CONFIG_EXE='bgconfig.exe' APP_CONFIG_ICON='bgconfig.exe' -APP_CONFIG_NAME="$GAME_NAME - configuration" -APP_CONFIG_CAT='Settings' PACKAGES_LIST='PKG_BIN PKG_L10N PKG_DATA' +# Localization package — common properties PKG_L10N_ID="${GAME_ID}-l10n" -PKG_L10N_ID_GOG_EN="${PKG_L10N_ID}-en" -PKG_L10N_ID_GOG_FR="${PKG_L10N_ID}-fr" PKG_L10N_PROVIDE="$PKG_L10N_ID" +# Localization package — English version +PKG_L10N_ID_GOG_EN="${PKG_L10N_ID}-en" PKG_L10N_DESCRIPTION_GOG_EN='English localization' +# Localization package — French version +PKG_L10N_ID_GOG_FR="${PKG_L10N_ID}-fr" PKG_L10N_DESCRIPTION_GOG_FR='French localization' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' PKG_BIN_ARCH='32' -PKG_BIN_DEPS="$PKG_L10N_ID $PKG_DATA_ID wine winetricks xrandr" +PKG_BIN_DEPS="$PKG_L10N_ID $PKG_DATA_ID wine winetricks glx" # Load common functions -target_version='2.10' +target_version='2.11' if [ -z "$PLAYIT_LIB2" ]; then : "${XDG_DATA_HOME:="$HOME/.local/share"}" @@ -149,45 +157,67 @@ printf 'libplayit2.sh not found.\n' exit 1 fi -#shellcheck source=play.it-2/lib/libplayit2.sh +# shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" # Extract game data extract_data_from "$SOURCE_ARCHIVE" set_standard_permissions "$PLAYIT_WORKDIR/gamedata" + +# Delete broken symbolic links + rm --force --recursive "$PLAYIT_WORKDIR"/gamedata/data/noarch/prefix/drive_c/GOG?Games/*/mpsave rm --force --recursive "$PLAYIT_WORKDIR"/gamedata/data/noarch/prefix/drive_c/GOG?Games/*/temp + tolower "$PLAYIT_WORKDIR/gamedata/data/noarch/docs" tolower "$PLAYIT_WORKDIR/gamedata/data/noarch/prefix/drive_c" prepare_package_layout -rm --recursive "$PLAYIT_WORKDIR/gamedata" # Extract icons PKG='PKG_BIN' -icons_get_from_package 'APP_MAIN' +icons_get_from_package 'APP_MAIN' 'APP_CONFIG' icons_move_to 'PKG_DATA' -PKG='PKG_L10N' -icons_get_from_package 'APP_CONFIG' -icons_move_to 'PKG_DATA' +# Clean up temporary files + +rm --recursive "$PLAYIT_WORKDIR/gamedata" # Tweak paths in baldur.ini +### +# TODO +# A library-provided function for .ini files edition could be useful +### + file="${PKG_L10N_PATH}${PATH_GAME}/baldur.ini" -pattern="s/\\(HD0:\\)=.\\+/\\1=C:\\\\$GAME_ID\\\\/" +path_game='C:\\'"$GAME_ID"'\\' +path_data='C:\\'"$GAME_ID"'\\data\\' +pattern="s/HD0:=.\\+/HD0:=$path_game/" +pattern="$pattern;s/CD1:=.\\+/CD1:=$path_data/" +pattern="$pattern;s/CD2:=.\\+/CD2:=$path_data/" +pattern="$pattern;s/CD3:=.\\+/CD3:=$path_data/" +pattern="$pattern;s/CD4:=.\\+/CD4:=$path_data/" +pattern="$pattern;s/CD5:=.\\+/CD5:=$path_data/" +pattern="$pattern;s/CD6:=.\\+/CD6:=$path_data/" sed --in-place "$pattern" "$file" -for drive in 'CD1' 'CD2' 'CD3' 'CD4' 'CD5' 'CD6'; do - pattern="s/\\($drive:\\)=.\\+/\\1=C:\\\\$GAME_ID\\\\data\\\\/" - sed --in-place "$pattern" "$file" -done unix2dos "$file" > /dev/null 2>&1 +# Run the game in a window + +ini_file="${PKG_L10N_PATH}${PATH_GAME}/baldur.ini" +ini_section='\[Program Options\]' +ini_field='Full Screen' +ini_value='0' +sed_pattern="s/^$ini_section$/&\\n$ini_field=$ini_value/" +dos2unix "$ini_file" >/dev/null 2>&1 +sed --in-place "$sed_pattern" "$ini_file" + # Write launchers PKG='PKG_BIN' -write_launcher 'APP_MAIN' 'APP_CONFIG' +launchers_write 'APP_MAIN' 'APP_CONFIG' # Build package diff -Nru play.it-2.12.0/play.it-2/games/play-baseball-stars-2.sh play.it-2.12.1/play.it-2/games/play-baseball-stars-2.sh --- play.it-2.12.0/play.it-2/games/play-baseball-stars-2.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-baseball-stars-2.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,136 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2020, HS-157 +# 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. +### + +### +# BASEBALL STARS 2 +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20201008.1 + +# Set game-specific variables + +GAME_ID='baseball-stars-2' +GAME_NAME="BASEBALL STARS 2" + +ARCHIVE_HUMBLE='BaseballStars2_jan2016.sh' +ARCHIVE_HUMBLE_TYPE='mojosetup' +ARCHIVE_HUMBLE_URL='https://www.humblebundle.com/store/baseball-stars-2' +ARCHIVE_HUMBLE_MD5='efe7f4d90cc2e5db0efd00e7b32d8114' +ARCHIVE_HUMBLE_VERSION='1.0-humblejan2016' +ARCHIVE_HUMBLE_SIZE='36000' + +ARCHIVE_GAME_BIN32_PATH_HUMBLE='data/x86' +ARCHIVE_GAME_BIN32_FILES='NeogeoEmu.bin.x86 lib' + +ARCHIVE_GAME_BIN64_PATH_HUMBLE='data/x86_64' +ARCHIVE_GAME_BIN64_FILES='NeogeoEmu.bin.x86_64 lib64' + +ARCHIVE_GAME_DATA_PATH_HUMBLE='data/noarch' +ARCHIVE_GAME_DATA_FILES='*' + +APP_MAIN_TYPE='native' +APP_MAIN_ICON='BaseballStars2.png' +APP_MAIN_EXE_BIN32='NeogeoEmu.bin.x86' +APP_MAIN_EXE_BIN64='NeogeoEmu.bin.x86_64' + +DATA_FILES='*.ini *.rml *.txt' + +PACKAGES_LIST='PKG_BIN32 PKG_BIN64 PKG_DATA' + +PKG_DATA_ID="${GAME_ID}-data" +PKG_DATA_DESCRIPTION='data' + +PKG_BIN32_ARCH='32' +PKG_BIN32_DEPS="$PKG_DATA_ID glibc libstdc++ sdl2 glx alsa libudev1" + +PKG_BIN64_ARCH='64' +PKG_BIN64_DEPS="$PKG_BIN32_DEPS" + +# Load common functions + +target_version='2.11' + +if [ -z "$PLAYIT_LIB2" ]; then + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +prepare_package_layout +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Extract icon + +PKG='PKG_DATA' +icons_get_from_package 'APP_MAIN' + +# Write launchers +for PKG in 'PKG_BIN32' 'PKG_BIN64'; do + launchers_write 'APP_MAIN' +done + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-bastion.sh play.it-2.12.1/play.it-2/games/play-bastion.sh --- play.it-2.12.0/play.it-2/games/play-bastion.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-bastion.sh 2020-11-25 15:14:43.000000000 +0000 @@ -33,10 +33,10 @@ ### # Bastion # build native packages from the original installers -# send your bug reports to vv221@dotslashplay.it +# send your bug reports to contact@dotslashplay.it ### -script_version=20200530.1 +script_version=20200920.1 # Set game-specific variables @@ -73,30 +73,26 @@ ARCHIVE_HUMBLE_VERSION='1.2.20161020-humble161019' ARCHIVE_HUMBLE_TYPE='mojosetup' -ARCHIVE_DOC0_DATA_PATH_GOG='data/noarch/game' -ARCHIVE_DOC0_DATA_PATH_HUMBLE='data' -ARCHIVE_DOC0_DATA_FILES='Linux.README' - -ARCHIVE_DOC1_DATA_PATH_GOG='data/noarch/docs' -ARCHIVE_DOC1_DATA_FILES='*' +ARCHIVE_DOC_DATA_PATH_GOG='data/noarch/game' +ARCHIVE_DOC_DATA_PATH_HUMBLE='data' +ARCHIVE_DOC_DATA_FILES='Linux.README' ARCHIVE_GAME_BIN32_PATH_GOG='data/noarch/game' ARCHIVE_GAME_BIN32_PATH_HUMBLE='data' -ARCHIVE_GAME_BIN32_FILES='Bastion.bin.x86 lib' +ARCHIVE_GAME_BIN32_FILES='lib/libfmodex.so lib/libmojoshader.so lib/libsteam_api.so lib/libSteamWrapper.so' ARCHIVE_GAME_BIN64_PATH_GOG='data/noarch/game' ARCHIVE_GAME_BIN64_PATH_HUMBLE='data' -ARCHIVE_GAME_BIN64_FILES='Bastion.bin.x86_64 lib64' +ARCHIVE_GAME_BIN64_FILES='lib64/libfmodex.so lib64/libmojoshader.so lib64/libsteam_api.so lib64/libSteamWrapper.so' ARCHIVE_GAME_DATA_PATH_GOG='data/noarch/game' ARCHIVE_GAME_DATA_PATH_HUMBLE='data' -ARCHIVE_GAME_DATA_FILES='*.config *.dll *.txt Bastion.exe Bastion.bmp Content mono*' +ARCHIVE_GAME_DATA_FILES='*.config *.txt Bastion.exe Bastion.bmp Content mono* FMOD.dll FNA.dll Lidgren.Network.dll MojoShader.dll MonoGame.Framework.Net.dll' -APP_MAIN_TYPE='native' -# shellcheck disable=SC2016 -APP_MAIN_PRERUN='export TERM="${TERM%-256color}"' -APP_MAIN_EXE_BIN32='Bastion.bin.x86' -APP_MAIN_EXE_BIN64='Bastion.bin.x86_64' +APP_MAIN_TYPE='mono' +APP_MAIN_LIBS_BIN32='lib' +APP_MAIN_LIBS_BIN64='lib64' +APP_MAIN_EXE='Bastion.exe' APP_MAIN_ICON='Bastion.bmp' PACKAGES_LIST='PKG_BIN32 PKG_BIN64 PKG_DATA' @@ -105,14 +101,16 @@ PKG_DATA_DESCRIPTION='data' PKG_BIN32_ARCH='32' -PKG_BIN32_DEPS="$PKG_DATA_ID glibc libstdc++ sdl2 glx libudev1" +PKG_BIN32_DEPS="$PKG_DATA_ID mono sdl2 glx libudev1" +PKG_BIN32_DEPS_DEB='libmono-posix4.0-cil' PKG_BIN64_ARCH='64' PKG_BIN64_DEPS="$PKG_BIN32_DEPS" +PKG_BIN64_DEPS_DEB="$PKG_BIN32_DEPS_DEB" # Load common functions -target_version='2.11' +target_version='2.12' if [ -z "$PLAYIT_LIB2" ]; then : "${XDG_DATA_HOME:="$HOME/.local/share"}" diff -Nru play.it-2.12.0/play.it-2/games/play-beholder.sh play.it-2.12.1/play.it-2/games/play-beholder.sh --- play.it-2.12.0/play.it-2/games/play-beholder.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-beholder.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20171115.1 +script_version=20200918.1 # Set game-specific variables @@ -86,16 +86,25 @@ target_version='2.3' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-beyond-good-and-evil.sh play.it-2.12.1/play.it-2/games/play-beyond-good-and-evil.sh --- play.it-2.12.0/play.it-2/games/play-beyond-good-and-evil.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-beyond-good-and-evil.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -95,16 +95,25 @@ target_version='2.0' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-bff-or-die.sh play.it-2.12.1/play.it-2/games/play-bff-or-die.sh --- play.it-2.12.0/play.it-2/games/play-bff-or-die.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-bff-or-die.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,148 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2016-2020, Mopi +# 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. +### + +### +# BFF or Die +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20200929.1 + +# Set game-specific variables + +GAME_ID='bff-or-die' +GAME_NAME='BFF or Die' + +ARCHIVES_LIST=' +ARCHIVE_ITCH_0' + +ARCHIVE_ITCH_0='BffOrDie_Linux.zip' +ARCHIVE_ITCH_0_URL='https://asa-studio.itch.io/bff-or-die' +ARCHIVE_ITCH_0_MD5='52968da91f57da3619c3ae8a666d660a' +ARCHIVE_ITCH_0_SIZE='790000' +ARCHIVE_ITCH_0_VERSION='1.0-itch' +ARCHIVE_ITCH_0_TYPE='zip' + +ARCHIVE_GAME_BIN32_PATH='BffOrDie_Linux' +ARCHIVE_GAME_BIN32_FILES='BffOrDie.x86 BffOrDie_Data/Mono/x86 BffOrDie_Data/Plugins/x86' + +ARCHIVE_GAME_BIN64_PATH='BffOrDie_Linux' +ARCHIVE_GAME_BIN64_FILES='BffOrDie.x86_64 BffOrDie_Data/Mono/x86_64 BffOrDie_Data/Plugins/x86_64' + +ARCHIVE_GAME_DATA_PATH='BffOrDie_Linux' +ARCHIVE_GAME_DATA_FILES='BffOrDie_Data' + +DATA_DIRS='./logs' + +APP_MAIN_TYPE='native' +APP_MAIN_PRERUN='# Work around Unity3D poor support for non-US locales +export LANG=C' +APP_MAIN_EXE_BIN32='BffOrDie.x86' +APP_MAIN_EXE_BIN64='BffOrDie.x86_64' +APP_MAIN_ICON='BffOrDie_Data/Resources/UnityPlayer.png' +# Use a per-session dedicated file for logs +# shellcheck disable=SC2016 +APP_MAIN_OPTIONS='-logFile ./logs/$(date +%F-%R).log' + +PACKAGES_LIST='PKG_BIN32 PKG_BIN64 PKG_DATA' + +PKG_DATA_ID="${GAME_ID}-data" +PKG_DATA_DESCRIPTION='data' + +PKG_BIN32_ARCH='32' +PKG_BIN32_DEPS="$PKG_DATA_ID glibc libstdc++" + +PKG_BIN64_ARCH='64' +PKG_BIN64_DEPS="$PKG_BIN32_DEPS" + +# Load common functions + +target_version='2.12' + +if [ -z "$PLAYIT_LIB2" ]; then + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +prepare_package_layout + +# Get icon + +PKG='PKG_DATA' +icons_get_from_package 'APP_MAIN' + +# Clean up temporary directories + +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Write launchers + +for PKG in 'PKG_BIN32' 'PKG_BIN64'; do + launchers_write 'APP_MAIN' +done + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-bit-trip-runner-3.sh play.it-2.12.1/play.it-2/games/play-bit-trip-runner-3.sh --- play.it-2.12.0/play.it-2/games/play-bit-trip-runner-3.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-bit-trip-runner-3.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,137 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2016-2020, Mopi +# 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. +### + +### +# Bit Trip Runner 3 +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20200926.1 + +# Set game-specific variables + +GAME_ID='bit-trip-runner-3' +GAME_NAME='Bit Trip Runner 3' + +ARCHIVES_LIST=' +ARCHIVE_ITCH_0' + +ARCHIVE_ITCH_0='Runner3WIN.zip' +ARCHIVE_ITCH_0_MD5='d13f6fa59e9b55a259a078328a87c9f9' +ARCHIVE_ITCH_0_TYPE='zip' +ARCHIVE_ITCH_0_URL='https://choice-provisions.itch.io/runner3' +ARCHIVE_ITCH_0_VERSION='2018.11.12-itch1' +ARCHIVE_ITCH_0_SIZE='2700000' + +ARCHIVE_GAME_BIN_PATH='.' +ARCHIVE_GAME_BIN_FILES='Runner3.exe UnityPlayer.dll Runner3_Data/Mono Runner3_Data/Plugins' + +ARCHIVE_GAME0_DATA_PATH='.' +ARCHIVE_GAME0_DATA_FILES='Runner3_Data' + +# Store saved games into a persistent path +DATA_FILES='*.sav' + +APP_MAIN_TYPE='wine' +APP_MAIN_EXE='Runner3.exe' +APP_MAIN_ICON='Runner3.exe' + +PACKAGES_LIST='PKG_BIN PKG_DATA' + +PKG_DATA_ID="${GAME_ID}-data" +PKG_DATA_DESCRIPTION='data' + +PKG_BIN_ARCH='32' +PKG_BIN_DEPS="$PKG_DATA_ID wine glx" + +# Load common functions + +target_version='2.11' + +if [ -z "$PLAYIT_LIB2" ]; then + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +prepare_package_layout + +# Extract icon + +PKG='PKG_BIN' +icons_get_from_package 'APP_MAIN' +icons_move_to 'PKG_DATA' + +# Clean up temporary files + +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Write launchers + +PKG='PKG_BIN' +launchers_write 'APP_MAIN' + +# Build packages + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-blackwell-1-the-blackwell-legacy.sh play.it-2.12.1/play.it-2/games/play-blackwell-1-the-blackwell-legacy.sh --- play.it-2.12.0/play.it-2/games/play-blackwell-1-the-blackwell-legacy.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-blackwell-1-the-blackwell-legacy.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -84,16 +84,25 @@ target_version='2.4' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-blackwell-2-blackwell-unbound.sh play.it-2.12.1/play.it-2/games/play-blackwell-2-blackwell-unbound.sh --- play.it-2.12.0/play.it-2/games/play-blackwell-2-blackwell-unbound.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-blackwell-2-blackwell-unbound.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -85,16 +85,25 @@ target_version='2.4' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-blackwell-3-blackwell-convergence.sh play.it-2.12.1/play.it-2/games/play-blackwell-3-blackwell-convergence.sh --- play.it-2.12.0/play.it-2/games/play-blackwell-3-blackwell-convergence.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-blackwell-3-blackwell-convergence.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -85,16 +85,25 @@ target_version='2.4' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-blackwell-4-blackwell-deception.sh play.it-2.12.1/play.it-2/games/play-blackwell-4-blackwell-deception.sh --- play.it-2.12.0/play.it-2/games/play-blackwell-4-blackwell-deception.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-blackwell-4-blackwell-deception.sh 2020-11-25 15:14:43.000000000 +0000 @@ -1,8 +1,9 @@ -#!/bin/sh -e +#!/bin/sh set -o errexit ### # Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2016-2020, Mopi # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -30,43 +31,42 @@ ### # Blackwell 4: Blackwell Deception -# build native Linux packages from the original installers -# send your bug reports to vv221@dotslashplay.it +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it ### -script_version=20180224.1 +script_version=20200830.1 # Set game-specific variables GAME_ID='blackwell-4-blackwell-deception' GAME_NAME='Blackwell 4: Blackwell Deception' -ARCHIVES_LIST='ARCHIVE_GOG' +ARCHIVES_LIST=' +ARCHIVE_GOG_0' -ARCHIVE_GOG='gog_blackwell_deception_2.0.0.3.sh' -ARCHIVE_GOG_URL='https://www.gog.com/game/blackwell_bundle' -ARCHIVE_GOG_MD5='1c2684697a98eee4d64c7e34311fac6c' -ARCHIVE_GOG_SIZE='610000' -ARCHIVE_GOG_VERSION='1.0-gog2.0.0.3' +ARCHIVE_GOG_0='gog_blackwell_deception_2.0.0.3.sh' +ARCHIVE_GOG_0_URL='https://www.gog.com/game/blackwell_bundle' +ARCHIVE_GOG_0_MD5='1c2684697a98eee4d64c7e34311fac6c' +ARCHIVE_GOG_0_SIZE='610000' +ARCHIVE_GOG_0_VERSION='1.0-gog2.0.0.3' ARCHIVE_DOC_DATA_PATH='data/noarch/docs' -ARCHIVE_DOC_DATA_FILES='./*' +ARCHIVE_DOC_DATA_FILES='*' ARCHIVE_GAME_BIN32_PATH='data/noarch/game' -ARCHIVE_GAME_BIN32_FILES='./*.x86 ./lib' +ARCHIVE_GAME_BIN32_FILES='*.x86 lib' ARCHIVE_GAME_BIN64_PATH='data/noarch/game' -ARCHIVE_GAME_BIN64_FILES='./*.x86_64 ./lib64' +ARCHIVE_GAME_BIN64_FILES='*.x86_64 lib64' ARCHIVE_GAME_DATA_PATH='data/noarch/game' -ARCHIVE_GAME_DATA_FILES='./agsgame.dat ./acsetup.cfg ./audio.vox ./prog.bwd' +ARCHIVE_GAME_DATA_FILES='agsgame.dat acsetup.cfg audio.vox prog.bwd' APP_MAIN_TYPE='native' APP_MAIN_EXE_BIN32='Deception.bin.x86' APP_MAIN_EXE_BIN64='Deception.bin.x86_64' -APP_MAIN_ICONS_LIST='APP_MAIN_ICON' APP_MAIN_ICON='data/noarch/support/icon.png' -APP_MAIN_ICON_RES='256' PACKAGES_LIST='PKG_BIN32 PKG_BIN64 PKG_DATA' @@ -82,48 +82,55 @@ # Load common functions -target_version='2.4' +target_version='2.11' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done fi -#shellcheck source=play.it-2/lib/libplayit2.sh +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" # Extract game data extract_data_from "$SOURCE_ARCHIVE" +prepare_package_layout -for PKG in $PACKAGES_LIST; do - organize_data "DOC_${PKG#PKG_}" "$PATH_DOC" - organize_data "GAME_${PKG#PKG_}" "$PATH_GAME" -done +# Get game icon PKG='PKG_DATA' -get_icon_from_temp_dir 'APP_MAIN' +icons_get_from_workdir 'APP_MAIN' + +# Clean up temporary files rm --recursive "$PLAYIT_WORKDIR/gamedata" # Write launchers for PKG in 'PKG_BIN32' 'PKG_BIN64'; do - write_launcher 'APP_MAIN' + launchers_write 'APP_MAIN' done # Build package -postinst_icons_linking 'APP_MAIN' -write_metadata 'PKG_DATA' -write_metadata 'PKG_BIN32' 'PKG_BIN64' +write_metadata build_pkg # Clean up @@ -132,10 +139,6 @@ # Print instructions -printf '\n' -printf '32-bit:' -print_instructions 'PKG_DATA' 'PKG_BIN32' -printf '64-bit:' -print_instructions 'PKG_DATA' 'PKG_BIN64' +print_instructions exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-botanicula.sh play.it-2.12.1/play.it-2/games/play-botanicula.sh --- play.it-2.12.0/play.it-2/games/play-botanicula.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-botanicula.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -82,16 +82,25 @@ target_version='2.3' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-braid.sh play.it-2.12.1/play.it-2/games/play-braid.sh --- play.it-2.12.0/play.it-2/games/play-braid.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-braid.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -87,16 +87,25 @@ target_version='2.3' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-braveland.sh play.it-2.12.1/play.it-2/games/play-braveland.sh --- play.it-2.12.0/play.it-2/games/play-braveland.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-braveland.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -94,16 +94,25 @@ target_version='2.5' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-breach-and-clear.sh play.it-2.12.1/play.it-2/games/play-breach-and-clear.sh --- play.it-2.12.0/play.it-2/games/play-breach-and-clear.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-breach-and-clear.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,130 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2020, HS-157 +# 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. +### + +### +# Breach & Clear +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20200725.1 + +# Set game-specific variables + +GAME_ID='breach-and-clear' +GAME_NAME="Breach & Clear" + +ARCHIVE_GOG='gog_breach_clear_2.0.0.3.sh' +ARCHIVE_GOG_TYPE='mojosetup' +ARCHIVE_GOG_URL='https://www.gog.com/game/breach_and_clear' +ARCHIVE_GOG_MD5='e7f6b59d8ce97c9ab850b47608941b7d' +ARCHIVE_GOG_VERSION='2.1.1-gog2.0.0.3' +ARCHIVE_GOG_SIZE='2500000' + +ARCHIVE_GAME_BIN_PATH='data/noarch/game' +ARCHIVE_GAME_BIN_FILES='Bnc_Nix.x86' + +ARCHIVE_GAME_DATA_PATH='data/noarch/game' +ARCHIVE_GAME_DATA_FILES='Bnc_Nix_Data' + +APP_MAIN_TYPE='native' +APP_MAIN_ICON='./Bnc_Nix_Data/Resources/UnityPlayer.png' +APP_MAIN_EXE_BIN='Bnc_Nix.x86' + +PACKAGES_LIST='PKG_BIN PKG_DATA' + +PKG_DATA_ID="${GAME_ID}-data" +PKG_DATA_DESCRIPTION='data' + +PKG_BIN_ARCH='32' +PKG_BIN_DEPS="$PKG_DATA_ID glibc glu xcursor libstdc++ glx" +PKG_BIN_DEPS_ARCH='lib32-libx11' +PKG_BIN_DEPS_DEB='libx11-6' +PKG_BIN_DEPS_GENTOO='x11-libs/libX11[abi_x86_32]' + + +# Load common functions + +target_version='2.11' + +if [ -z "$PLAYIT_LIB2" ]; then + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +prepare_package_layout +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Get game icon + +PKG='PKG_DATA' +icons_get_from_package 'APP_MAIN' + +# Write launchers +PKG='PKG_BIN' +launchers_write 'APP_MAIN' + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-broken-age.sh play.it-2.12.1/play.it-2/games/play-broken-age.sh --- play.it-2.12.0/play.it-2/games/play-broken-age.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-broken-age.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -80,16 +80,25 @@ target_version='2.4' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-broken-minds.sh play.it-2.12.1/play.it-2/games/play-broken-minds.sh --- play.it-2.12.0/play.it-2/games/play-broken-minds.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-broken-minds.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,152 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2016-2020, Mopi +# 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. +### + +### +# Broken Minds +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20200925.2 + +# Set game-specific variables + +GAME_ID='broken-minds' +GAME_NAME='Broken Minds' + +ARCHIVES_LIST=' +ARCHIVE_ITCH_0' + +ARCHIVE_ITCH_0='broken-minds-win-osx-linux.zip' +ARCHIVE_ITCH_0_URL='https://lockedon.itch.io/broken-minds' +ARCHIVE_ITCH_0_MD5='bd76cf6fded5a9712125fdcd73daac28' +ARCHIVE_ITCH_0_SIZE='1900000' +ARCHIVE_ITCH_0_VERSION='1.0-itch1' +ARCHIVE_ITCH_0_TYPE='zip' + +ARCHIVE_DOC_DATA_PATH='BROKEN_MINDS-1.0-market' +ARCHIVE_DOC_DATA_FILES='README.html' + +ARCHIVE_GAME_BIN32_PATH='BROKEN_MINDS-1.0-market' +ARCHIVE_GAME_BIN32_FILES='lib/linux-i686 BROKEN_MINDS.sh' + +ARCHIVE_GAME_BIN64_PATH='BROKEN_MINDS-1.0-market' +ARCHIVE_GAME_BIN64_FILES='lib/linux-x86_64' + +ARCHIVE_GAME_DATA_PATH='BROKEN_MINDS-1.0-market' +ARCHIVE_GAME_DATA_FILES='lib/pythonlib2.7 game BROKEN_MINDS.py renpy' + +DATA_DIRS='game/saves' + +APP_MAIN_TYPE='native' +APP_MAIN_EXE='BROKEN_MINDS.sh' +APP_MAIN_ICON='game/icon.png' + +PACKAGES_LIST='PKG_BIN32 PKG_BIN64 PKG_DATA' + +PKG_DATA_ID="${GAME_ID}-data" +PKG_DATA_DESCRIPTION='data' + +PKG_BIN32_ARCH='32' +PKG_BIN32_DEPS="$PKG_DATA_ID glibc libstdc++" + +PKG_BIN64_ARCH='64' +PKG_BIN64_DEPS="$PKG_BIN32_DEPS" + +# Load common functions + +target_version='2.12' + +if [ -z "$PLAYIT_LIB2" ]; then + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +prepare_package_layout + +# Copy launching script between the binaries packages + +LAUNCHER_SOURCE="${PKG_BIN32_PATH}${PATH_GAME}/$APP_MAIN_EXE" +LAUNCHER_DESTINATION="${PKG_BIN64_PATH}${PATH_GAME}/$APP_MAIN_EXE" +mkdir --parents "$(dirname "$LAUNCHER_DESTINATION")" +cp "$LAUNCHER_SOURCE" "$LAUNCHER_DESTINATION" + +# Get icon + +PKG='PKG_DATA' +icons_get_from_package 'APP_MAIN' + +# Clean up temporary directories + +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Write launchers + +for PKG in 'PKG_BIN32' 'PKG_BIN64'; do + launchers_write 'APP_MAIN' +done + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-brutal-legend.sh play.it-2.12.1/play.it-2/games/play-brutal-legend.sh --- play.it-2.12.0/play.it-2/games/play-brutal-legend.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-brutal-legend.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -96,16 +96,25 @@ target_version='2.3' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-call-of-cthulhu-prisoner-of-ice.sh play.it-2.12.1/play.it-2/games/play-call-of-cthulhu-prisoner-of-ice.sh --- play.it-2.12.0/play.it-2/games/play-call-of-cthulhu-prisoner-of-ice.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-call-of-cthulhu-prisoner-of-ice.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,148 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2020, macaron +# 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. +### + +### +# Call of Cthulhu: Prisoner of Ice +# build native packages from the original installers +# send your bug reports to vv221@dotslashplay.it +### + +script_version=20200223.1 + +# Set game-specific variables + +GAME_ID='call-of-cthulhu-prisoner-of-ice' +GAME_NAME='Call of Cthulhu: Prisoner of Ice' + +ARCHIVES_LIST='ARCHIVE_GOG_EN ARCHIVE_GOG_FR' + +ARCHIVE_GOG_EN='call_of_cthulhu_prisoner_of_ice_en_gog_5_17654.sh' +ARCHIVE_GOG_EN_URL='https://www.gog.com/game/call_of_cthulhu_prisoner_of_ice' +ARCHIVE_GOG_EN_MD5='c3f64c02981cfacefd3b3f8d0d504ac3' +ARCHIVE_GOG_EN_SIZE='310000' +ARCHIVE_GOG_EN_VERSION='1.0-gog17654' +ARCHIVE_GOG_EN_TYPE='mojosetup' + +ARCHIVE_GOG_FR='call_of_cthulhu_prisoner_of_ice_fr_gog_5_17654.sh' +ARCHIVE_GOG_FR_URL='https://www.gog.com/game/call_of_cthulhu_prisoner_of_ice' +ARCHIVE_GOG_FR_MD5='da1f4dad3ee3817a026390fa28320284' +ARCHIVE_GOG_FR_SIZE='350000' +ARCHIVE_GOG_FR_VERSION='1.0-gog17654' +ARCHIVE_GOG_FR_TYPE='mojosetup' + +ARCHIVE_DOC0_MAIN_PATH='data/noarch/docs' +ARCHIVE_DOC0_MAIN_FILES='*.pdf *.txt' +ARCHIVE_DOC1_MAIN_PATH='data/noarch/data' +ARCHIVE_DOC1_MAIN_FILES='*.txt' +ARCHIVE_DOC2_MAIN_PATH_GOG_EN='data/noarch/docs/english' +ARCHIVE_DOC2_MAIN_PATH_GOG_FR='data/noarch/docs/french' +ARCHIVE_DOC2_MAIN_FILES='*.pdf *.txt' + +ARCHIVE_GAME_MAIN_PATH='data/noarch/data' +ARCHIVE_GAME_MAIN_FILES='ice cd' + +GAME_IMAGE='CD' +GAME_IMAGE_TYPE='cdrom' + +CONFIG_FILES='ICE/*.CFG ICE/*.PCK' +DATA_FILES='ICE/*.ICE' + +APP_MAIN_TYPE='dosbox' +APP_MAIN_EXE='ICE640.EXE' +APP_MAIN_PRERUN='d:' +APP_MAIN_ICON='data/noarch/support/icon.png' + +PACKAGES_LIST='PKG_MAIN' + +PKG_MAIN_ID="$GAME_ID" +PKG_MAIN_ID_GOG_EN="${GAME_ID}-en" +PKG_MAIN_ID_GOG_FR="${GAME_ID}-fr" +PKG_MAIN_PROVIDE="$PKG_MAIN_ID" +PKG_MAIN_DEPS='dosbox' + +# Load common functions + +target_version='2.12' + +if [ -z "$PLAYIT_LIB2" ]; then + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +tolower "$PLAYIT_WORKDIR/gamedata" +prepare_package_layout +toupper "$PKG_MAIN_PATH$PATH_GAME" + +# Extract icons + +icons_get_from_workdir 'APP_MAIN' +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Write launchers + +launchers_write 'APP_MAIN' + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-call-of-cthulhu-shadow-of-the-comet.sh play.it-2.12.1/play.it-2/games/play-call-of-cthulhu-shadow-of-the-comet.sh --- play.it-2.12.0/play.it-2/games/play-call-of-cthulhu-shadow-of-the-comet.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-call-of-cthulhu-shadow-of-the-comet.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,146 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2020, macaron +# 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. +### + +### +# Call of Cthulhu: Shadow of the Comet +# build native packages from the original installers +# send your bug reports to vv221@dotslashplay.it +### + +script_version=20200223.1 + +# Set game-specific variables + +GAME_ID='call-of-cthulhu-shadow-of-the-comet' +GAME_NAME='Call of Cthulhu: Shadow of the Comet' + +ARCHIVE_GOG='gog_call_of_cthulhu_shadow_of_the_comet_2.0.0.4.sh' +ARCHIVE_GOG_URL='https://www.gog.com/game/call_of_cthulhu_shadow_of_the_comet' +ARCHIVE_GOG_MD5='18c4f78b766e8e1d638e4ac32df0be60' +ARCHIVE_GOG_SIZE='150000' +ARCHIVE_GOG_VERSION='1.0-gog2.0.0.4' + +ARCHIVE_DOC_MAIN_PATH='data/noarch/docs' +ARCHIVE_DOC_MAIN_FILES='*.pdf *.txt' + +ARCHIVE_GAME_MAIN_PATH='data/noarch/data' +ARCHIVE_GAME_MAIN_FILES='infogram cd' + +GAME_IMAGE='CD' +GAME_IMAGE_TYPE='cdrom' + +CONFIG_FILES='INFOGRAM/SHADOW.CD/*.CFG INFOGRAM/SHADOW.CD/*.OPT' +DATA_FILES='INFOGRAM/SHADOW.CD/*.SAV' + +APP_MAIN_TYPE='dosbox' +APP_MAIN_EXE='SHADOW.EXE' +APP_MAIN_PRERUN='d: +config -set cpu cycles=fixed 13000' +APP_MAIN_ICON='data/noarch/support/icon.png' + +APP_MUSEUM_TYPE='dosbox' +APP_MUSEUM_EXE='MUSEUM.EXE' +APP_MUSEUM_PRERUN='d: +config -set cpu cycles=fixed 13000' +APP_MUSEUM_ID="${GAME_ID}_museum" +APP_MUSEUM_NAME="$GAME_NAME - Lovecraft Museum" +APP_MUSEUM_ICON="$APP_MAIN_ICON" + +APP_SETUP_TYPE='dosbox' +APP_SETUP_EXE='INSTALL.EXE' +APP_SETUP_PRERUN='d:' +APP_SETUP_ID="${GAME_ID}_setup" +APP_SETUP_NAME="$GAME_NAME - Setup" +APP_SETUP_CAT='Settings' +APP_SETUP_ICON="$APP_MAIN_ICON" + +PACKAGES_LIST='PKG_MAIN' + +PKG_MAIN_DEPS='dosbox' + +# Load common functions + +target_version='2.12' + +if [ -z "$PLAYIT_LIB2" ]; then + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +tolower "$PLAYIT_WORKDIR/gamedata" +prepare_package_layout +toupper "$PKG_MAIN_PATH$PATH_GAME" + +# Extract icons + +icons_get_from_workdir 'APP_MAIN' 'APP_MUSEUM' 'APP_SETUP' +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Write launchers + +launchers_write 'APP_MAIN' 'APP_MUSEUM' 'APP_SETUP' + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-candle.sh play.it-2.12.1/play.it-2/games/play-candle.sh --- play.it-2.12.0/play.it-2/games/play-candle.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-candle.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -89,16 +89,25 @@ target_version='2.3' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-caravan.sh play.it-2.12.1/play.it-2/games/play-caravan.sh --- play.it-2.12.0/play.it-2/games/play-caravan.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-caravan.sh 2020-11-25 15:14:43.000000000 +0000 @@ -35,7 +35,7 @@ # send your bug reports to contact@dotslashplay.it ### -script_version=20200619.2 +script_version=20200927.1 # Set game-specific variables @@ -44,6 +44,7 @@ ARCHIVES_LIST=' ARCHIVE_HUMBLE_0 +ARCHIVE_GOG_0 ' ARCHIVE_HUMBLE_0='caravan_linux_v1.1.17513.zip' @@ -53,13 +54,23 @@ ARCHIVE_HUMBLE_0_VERSION='1.1.17513-humble1' ARCHIVE_HUMBLE_0_TYPE='zip_unclean' -ARCHIVE_GAME_BIN32_PATH='Caravan' +ARCHIVE_GOG_0='caravan_en_v1_1_19786_19905.sh' +ARCHIVE_GOG_0_URL='https://www.gog.com/game/caravan' +ARCHIVE_GOG_0_MD5='e6806e10c86267b38a2a2a85bb278dae' +ARCHIVE_GOG_0_SIZE='430000' +ARCHIVE_GOG_0_VERSION='1.1.19786-gog19905' +ARCHIVE_GOG_0_TYPE='mojosetup' + +ARCHIVE_GAME_BIN32_PATH_HUMBLE='Caravan' +ARCHIVE_GAME_BIN32_PATH_GOG='data/noarch/game' ARCHIVE_GAME_BIN32_FILES='Caravan.x86 Caravan_Data/Mono/x86 Caravan_Data/Plugins/x86' -ARCHIVE_GAME_BIN64_PATH='Caravan' +ARCHIVE_GAME_BIN64_PATH_HUMBLE='Caravan' +ARCHIVE_GAME_BIN64_PATH_GOG='data/noarch/game' ARCHIVE_GAME_BIN64_FILES='Caravan.x86_64 Caravan_Data/Mono/x86_64 Caravan_Data/Plugins/x86_64' -ARCHIVE_GAME_DATA_PATH='Caravan' +ARCHIVE_GAME_DATA_PATH_HUMBLE='Caravan' +ARCHIVE_GAME_DATA_PATH_GOG='data/noarch/game' ARCHIVE_GAME_DATA_FILES='Caravan_Data' DATA_DIRS='./logs' @@ -119,14 +130,18 @@ # Extract game data extract_data_from "$SOURCE_ARCHIVE" -( - ARCHIVE='ARCHIVE_INNER' - ARCHIVE_INNER="$PLAYIT_WORKDIR/gamedata/Caravan_1.1.17513_Full_DEB_Multi_Daedalic_ESD.tar.gz" - ARCHIVE_INNER_TYPE='tar.gz' - extract_data_from "$ARCHIVE_INNER" - rm "$ARCHIVE_INNER" -) -set_standard_permissions "$PLAYIT_WORKDIR/gamedata" +case "$ARCHIVE" in + ('ARCHIVE_HUMBLE'*) + ( + ARCHIVE='ARCHIVE_INNER' + ARCHIVE_INNER="$PLAYIT_WORKDIR/gamedata/Caravan_1.1.17513_Full_DEB_Multi_Daedalic_ESD.tar.gz" + ARCHIVE_INNER_TYPE='tar.gz' + extract_data_from "$ARCHIVE_INNER" + rm "$ARCHIVE_INNER" + ) + set_standard_permissions "$PLAYIT_WORKDIR/gamedata" + ;; +esac prepare_package_layout rm --recursive "$PLAYIT_WORKDIR/gamedata" diff -Nru play.it-2.12.0/play.it-2/games/play-cats-are-liquid-1.sh play.it-2.12.1/play.it-2/games/play-cats-are-liquid-1.sh --- play.it-2.12.0/play.it-2/games/play-cats-are-liquid-1.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-cats-are-liquid-1.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,138 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2016-2020, Mopi +# 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. +### + +### +# Cats are Liquid - A Light in the Shadows +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20200924.1 + +# Set game-specific variables + +GAME_ID='cats-are-liquid-1' +GAME_NAME='Cats are Liquid - A Light in the Shadows' + +ARCHIVE_ITCH='CatsAreLiquidLinux.zip' +ARCHIVE_ITCH_URL='https://lastquarterstudios.itch.io/cats-are-liquid-a-light-in-the-shadows' +ARCHIVE_ITCH_MD5='eb01e4f7c44543051e95bc78b777bb5b' +ARCHIVE_ITCH_SIZE='180000' +ARCHIVE_ITCH_VERSION='1.0-itch1' +ARCHIVE_ITCH_TYPE='zip' + +ARCHIVE_GAME_BIN_PATH='CatsAreLiquidLinux' +ARCHIVE_GAME_BIN_FILES='CatsAreLiquidLinux.x86 CatsAreLiquidLinux_Data/Mono CatsAreLiquidLinux_Data/Plugins' + +ARCHIVE_GAME_DATA_PATH='CatsAreLiquidLinux' +ARCHIVE_GAME_DATA_FILES='CatsAreLiquidLinux_Data' + +DATA_DIRS='./logs' + +APP_MAIN_TYPE='native' +APP_MAIN_EXE='CatsAreLiquidLinux.x86' +APP_MAIN_ICON='CatsAreLiquidLinux_Data/Resources/UnityPlayer.png' +# Common Unity3D tweaks +APP_MAIN_PRERUN='# Work around Unity3D poor support for non-US locales +export LANG=C' +# Use a per-session dedicated file for logs +# shellcheck disable=SC2016 +APP_MAIN_OPTIONS='-logFile ./logs/$(date +%F-%R).log' + +PACKAGES_LIST='PKG_BIN PKG_DATA' + +PKG_DATA_ID="${GAME_ID}-data" +PKG_DATA_DESCRIPTION='data' + +PKG_BIN_ARCH='32' +PKG_BIN_DEPS="$PKG_LIGHTING_ID $PKG_DATA_ID glibc libstdc++" + +# Load common functions + +target_version='2.12' + +if [ -z "$PLAYIT_LIB2" ]; then + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +prepare_package_layout + +# Get game icon + +PKG='PKG_DATA' +icons_get_from_package 'APP_MAIN' + +# Clean up temporary files + +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Write launchers + +PKG='PKG_BIN' +write_launcher 'APP_MAIN' + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-cats-are-liquid-2.sh play.it-2.12.1/play.it-2/games/play-cats-are-liquid-2.sh --- play.it-2.12.0/play.it-2/games/play-cats-are-liquid-2.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-cats-are-liquid-2.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,138 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2016-2020, Mopi +# 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. +### + +### +# Cats are Liquid - A Better Place +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20200924.1 + +# Set game-specific variables + +GAME_ID='cats-are-liquid-2' +GAME_NAME='Cats are Liquid - A Better Place' + +ARCHIVE_ITCH='CaL-ABP-Linux.zip' +ARCHIVE_ITCH_URL='https://lastquarterstudios.itch.io/cats-are-liquid-a-better-place' +ARCHIVE_ITCH_MD5='a61524e809870b026dc8a993b177b9b9' +ARCHIVE_ITCH_SIZE='440000' +ARCHIVE_ITCH_VERSION='1.0-itch1' +ARCHIVE_ITCH_TYPE='zip' + +ARCHIVE_GAME_BIN_PATH='Linux' +ARCHIVE_GAME_BIN_FILES='CaL-ABP-Linux.x86_64 CaL-ABP-Linux_Data/Mono CaL-ABP-Linux_Data/Plugins' + +ARCHIVE_GAME_DATA_PATH='Linux' +ARCHIVE_GAME_DATA_FILES='CaL-ABP-Linux_Data' + +DATA_DIRS='./logs' + +APP_MAIN_TYPE='native' +APP_MAIN_EXE='CaL-ABP-Linux.x86_64' +APP_MAIN_ICON='CaL-ABP-Linux_Data/Resources/UnityPlayer.png' +# Common Unity3D tweaks +APP_MAIN_PRERUN='# Work around Unity3D poor support for non-US locales +export LANG=C' +# Use a per-session dedicated file for logs +# shellcheck disable=SC2016 +APP_MAIN_OPTIONS='-logFile ./logs/$(date +%F-%R).log' + +PACKAGES_LIST='PKG_BIN PKG_DATA' + +PKG_DATA_ID="${GAME_ID}-data" +PKG_DATA_DESCRIPTION='data' + +PKG_BIN_ARCH='64' +PKG_BIN_DEPS="$PKG_LIGHTING_ID $PKG_DATA_ID glibc libstdc++" + +# Load common functions + +target_version='2.12' + +if [ -z "$PLAYIT_LIB2" ]; then + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +prepare_package_layout + +# Get game icon + +PKG='PKG_DATA' +icons_get_from_package 'APP_MAIN' + +# Clean up temporary files + +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Write launchers + +PKG='PKG_BIN' +write_launcher 'APP_MAIN' + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-celeste.sh play.it-2.12.1/play.it-2/games/play-celeste.sh --- play.it-2.12.0/play.it-2/games/play-celeste.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-celeste.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,143 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine Le Gonidec +# Copyright (c) 2018-2020, BetaRays +# 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. +### + +### +# Celeste +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20201018.1 + +# Set game-specific variables + +GAME_ID='celeste' +GAME_NAME='Celeste' + +ARCHIVE_ITCH='celeste-linux.zip' +ARCHIVE_ITCH_URL='https://mattmakesgames.itch.io/celeste' +ARCHIVE_ITCH_MD5='b27c983b95b2a2a35a272b7ecd94cbc2' +ARCHIVE_ITCH_SIZE='1400000' +ARCHIVE_ITCH_VERSION='1.3.1.2-itch' + +ARCHIVE_GAME_BIN32_PATH='.' +ARCHIVE_GAME_BIN32_FILES='lib/libfmod*.so* lib/libmojoshader.so' + +ARCHIVE_GAME_BIN64_PATH='.' +ARCHIVE_GAME_BIN64_FILES='lib64/libfmod*.so* lib64/libmojoshader.so' + +ARCHIVE_GAME_DATA_PATH='.' +ARCHIVE_GAME_DATA_FILES='Content FNA.dll FNA.dll.config Celeste.exe Celeste.exe.config gamecontrollerdb.txt Celeste.png' + +DATA_FILES='error_log.txt' + +APP_MAIN_TYPE='mono' +APP_MAIN_LIBS_BIN32='lib' +APP_MAIN_LIBS_BIN64='lib64' +APP_MAIN_ICON='Celeste.png' +APP_MAIN_EXE='Celeste.exe' + +PACKAGES_LIST='PKG_BIN32 PKG_BIN64 PKG_DATA' + +PKG_DATA_ID="${GAME_ID}-data" +PKG_DATA_DESCRIPTION='data' + +PKG_BIN32_ARCH='32' +PKG_BIN32_DEPS="$PKG_DATA_ID mono sdl2 glx sdl2_image libxrandr" +PKG_BIN32_DEPS_DEB='libmono-2.0-1, libmono-posix4.0-cil, libmono-security4.0-cil, libmono-system-configuration4.0-cil, libmono-system-core4.0-cil, libmono-system-data4.0-cil, libmono-system4.0-cil, libmono-system-drawing4.0-cil, libmono-system-runtime-serialization4.0-cil, libmono-system-security4.0-cil, libmono-system-xml4.0-cil, libfaudio0' +PKG_BIN32_DEPS_ARCH='lib32-faudio' +PKG_BIN32_DEPS_GENTOO='app-emulation/faudio[abi_x86_32]' + +PKG_BIN64_ARCH='64' +PKG_BIN64_DEPS="$PKG_BIN32_DEPS" +PKG_BIN64_DEPS_DEB="$PKG_BIN32_DEPS_DEB" +PKG_BIN64_DEPS_ARCH='faudio' +PKG_BIN64_DEPS_GENTOO='app-emulation/faudio' + +# Load common functions + +target_version='2.12' + +if [ -z "$PLAYIT_LIB2" ]; then + for path in \ + "$PWD" \ + "${XDG_DATA_HOME:="$HOME/.local/share"}/play.it" \ + '/usr/local/share/games/play.it' \ + '/usr/local/share/play.it' \ + '/usr/share/games/play.it' \ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +set_standard_permissions "$PLAYIT_WORKDIR/gamedata" +prepare_package_layout +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Get game icon + +PKG='PKG_DATA' +icons_get_from_package 'APP_MAIN' + +# Write launchers + +for PKG in PKG_BIN32 PKG_BIN64; do + launchers_write 'APP_MAIN' +done + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +#print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-contract-demon.sh play.it-2.12.1/play.it-2/games/play-contract-demon.sh --- play.it-2.12.0/play.it-2/games/play-contract-demon.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-contract-demon.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,149 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2016-2020, Mopi +# 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. +### + +### +# Contract Demon +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20201006.1 + +# Set game-specific variables + +GAME_ID='contract-demon' +GAME_NAME='Contract Demon' + +ARCHIVES_LIST=' +ARCHIVE_ITCH_0' + +ARCHIVE_ITCH_0='contractdemon-1.7.1-pc.zip' +ARCHIVE_ITCH_0_URL='https://nomnomnami.itch.io/contract-demon' +ARCHIVE_ITCH_0_MD5='81de84b69550eae7ae13e019a4aec3bf' +ARCHIVE_ITCH_0_SIZE='150000' +ARCHIVE_ITCH_0_VERSION='1.7.1-itch' +ARCHIVE_ITCH_0_TYPE='zip' + +ARCHIVE_GAME_BIN32_PATH='contractdemon-1.7.1-pc' +ARCHIVE_GAME_BIN32_FILES='lib/linux-i686 contractdemon.sh' + +ARCHIVE_GAME_BIN64_PATH='contractdemon-1.7.1-pc' +ARCHIVE_GAME_BIN64_FILES='lib/linux-x86_64' + +ARCHIVE_GAME_DATA_PATH='contractdemon-1.7.1-pc' +ARCHIVE_GAME_DATA_FILES='lib/pythonlib2.7 game contractdemon.py renpy' + +DATA_DIRS='game/saves' + +APP_MAIN_TYPE='native' +APP_MAIN_EXE='contractdemon.sh' +APP_MAIN_ICON='contractdemon-1.7.1-pc/contractdemon.exe' + +PACKAGES_LIST='PKG_BIN32 PKG_BIN64 PKG_DATA' + +PKG_DATA_ID="${GAME_ID}-data" +PKG_DATA_DESCRIPTION='data' + +PKG_BIN32_ARCH='32' +PKG_BIN32_DEPS="$PKG_DATA_ID glibc libstdc++" + +PKG_BIN64_ARCH='64' +PKG_BIN64_DEPS="$PKG_BIN32_DEPS" + +# Load common functions + +target_version='2.12' + +if [ -z "$PLAYIT_LIB2" ]; then + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +prepare_package_layout + +# Copy launching script between the binaries packages + +LAUNCHER_SOURCE="${PKG_BIN32_PATH}${PATH_GAME}/$APP_MAIN_EXE" +LAUNCHER_DESTINATION="${PKG_BIN64_PATH}${PATH_GAME}/$APP_MAIN_EXE" +mkdir --parents "$(dirname "$LAUNCHER_DESTINATION")" +cp "$LAUNCHER_SOURCE" "$LAUNCHER_DESTINATION" + +# Get icon + +PKG='PKG_DATA' +icons_get_from_workdir 'APP_MAIN' + +# Clean up temporary directories + +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Write launchers + +for PKG in 'PKG_BIN32' 'PKG_BIN64'; do + launchers_write 'APP_MAIN' +done + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-cosmic-express.sh play.it-2.12.1/play.it-2/games/play-cosmic-express.sh --- play.it-2.12.0/play.it-2/games/play-cosmic-express.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-cosmic-express.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,153 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2016-2020, Mopi +# 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. +### + +### +# Cosmic Express +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20201017.1 + +# Set game-specific variables + +GAME_ID='cosmic-express' +GAME_NAME='Cosmic Express' + +ARCHIVES_LIST=' +ARCHIVE_HUMBLE_0' + +ARCHIVE_HUMBLE_0='cosmic-express-linux-1.0.4.zip' +ARCHIVE_HUMBLE_0_URL='https://www.humblebundle.com/store/cosmic-express' +ARCHIVE_HUMBLE_0_MD5='145789ba0550e5a7e440577f0aec7963' +ARCHIVE_HUMBLE_0_SIZE='860000' +ARCHIVE_HUMBLE_0_VERSION='1.0.4-humble' +ARCHIVE_HUMBLE_0_TYPE='zip' + +ARCHIVE_GAME_BIN32_PATH='.' +ARCHIVE_GAME_BIN32_FILES='Cosmic?Express.x86 Cosmic.Express_Data/Mono*/x86 Cosmic?Express_Data/Plugins/x86' + +ARCHIVE_GAME_BIN64_PATH='.' +ARCHIVE_GAME_BIN64_FILES='Cosmic?Express.x86_64 Cosmic?Express_Data/Mono*/x86_64 Cosmic?Express_Data/Plugins/x86_64' + +ARCHIVE_GAME_DATA_PATH='.' +ARCHIVE_GAME_DATA_FILES='Cosmic?Express_Data' + +DATA_DIRS='./logs' + +APP_MAIN_TYPE='native' +APP_MAIN_PRERUN='# Work around Unity3D poor support for non-US locales +export LANG=C' +APP_MAIN_EXE_BIN32='Cosmic Express.x86' +APP_MAIN_EXE_BIN64='Cosmic Express.x86_64' +APP_MAIN_ICON='Cosmic Express_Data/Resources/UnityPlayer.png' +# Use a per-session dedicated file for logs +# shellcheck disable=SC2016 +APP_MAIN_OPTIONS='-logFile ./logs/$(date +%F-%R).log' + +PACKAGES_LIST='PKG_BIN32 PKG_BIN64 PKG_DATA' + +PKG_DATA_ID="${GAME_ID}-data" +PKG_DATA_DESCRIPTION='data' + +PKG_BIN32_ARCH='32' +PKG_BIN32_DEPS="$PKG_DATA_ID glibc libstdc++ glx xcursor libxrandr" +PKG_MAIN_DEPS_ARCH='lib32-libx11' +PKG_MAIN_DEPS_DEB='libx11-6' +PKG_MAIN_DEPS_GENTOO='x11-libs/libX11[abi_x86_32]' + +PKG_BIN64_ARCH='64' +PKG_BIN64_DEPS="$PKG_BIN32_DEPS" +PKG_BIN64_DEPS_ARCH='libx11' +PKG_BIN64_DEPS_DEB="$PKG_BIN32_DEPS_DEB" +PKG_BIN64_DEPS_GENTOO='x11-libs/libX11' + +# Load common functions + +target_version='2.12' + +if [ -z "$PLAYIT_LIB2" ]; then + for path in \ + "$PWD" \ + "${XDG_DATA_HOME:="$HOME/.local/share"}/play.it" \ + '/usr/local/share/games/play.it' \ + '/usr/local/share/play.it' \ + '/usr/share/games/play.it' \ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +prepare_package_layout + +# Get icon + +PKG='PKG_DATA' +icons_get_from_package 'APP_MAIN' + +# Clean up temporary directories + +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Write launchers + +for PKG in 'PKG_BIN32' 'PKG_BIN64'; do + launchers_write 'APP_MAIN' +done + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-crosscode-demo.sh play.it-2.12.1/play.it-2/games/play-crosscode-demo.sh --- play.it-2.12.0/play.it-2/games/play-crosscode-demo.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-crosscode-demo.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,152 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2018-2020, BetaRays +# 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. +### + +### +# CrossCode - Demo +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20200926.1 + +# Set game-specific variables + +GAME_ID='crosscode-demo' +GAME_NAME='CrossCode - Demo' + +ARCHIVES_LIST=' +ARCHIVE_OFFICIAL_0 +' + +ARCHIVE_OFFICIAL_0='crosscode-demo.zip' +ARCHIVE_OFFICIAL_0_URL='https://www.cross-code.com/en/home' +ARCHIVE_OFFICIAL_0_MD5='22c54c8c415ecf056bd703dbed09c13d' +ARCHIVE_OFFICIAL_0_VERSION='0.7.1beta-crosscode' +ARCHIVE_OFFICIAL_0_SIZE='130000' +ARCHIVE_OFFICIAL_0_TYPE='zip' + +ARCHIVE_DOC_MAIN_PATH='.' +ARCHIVE_DOC_MAIN_FILES='credits.html' + +ARCHIVE_GAME_MAIN_PATH='.' +ARCHIVE_GAME_MAIN_FILES='crosscode-demo.exe ffmpegsumo.dll icudt.dll nw.pak' + +APP_MAIN_TYPE='wine' +APP_MAIN_EXE='crosscode-demo.exe' +APP_MAIN_ICON='favicon.png' + +PACKAGES_LIST='PKG_MAIN' + +# glx is here because it seems nw can use regular OpenGL when swiftshader isn't present +PKG_MAIN_ARCH='32' +PKG_MAIN_DEPS='wine glx alsa' + +# Store user data under a persistent path + +DATA_DIRS="$DATA_DIRS ./userdata" +APP_MAIN_PRERUN="$APP_MAIN_PRERUN"' +# Store user data under a persistent path +userdata_path_prefix="$WINEPREFIX/drive_c/users/$USER/Local Settings/Application Data/CrossCode/Local Storage" +userdata_path_persistent="$PATH_PREFIX/userdata" +if [ ! -h "$userdata_path_prefix" ]; then + if [ -d "$userdata_path_prefix" ]; then + # Migrate existing user data to the persistent path + mv "$userdata_path_prefix"/* "$userdata_path_persistent" + rmdir "$userdata_path_prefix" + fi + # Create link from prefix to persistent path + mkdir --parents "$(dirname "$userdata_path_prefix")" + ln --symbolic "$userdata_path_persistent" "$userdata_path_prefix" +fi' + +# Load common functions + +target_version='2.11' + +if [ -z "$PLAYIT_LIB2" ]; then + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +prepare_package_layout +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Extract game icons + +( + ARCHIVE='ARCHIVE_EXE' + ARCHIVE_EXE="${PKG_MAIN_PATH}${PATH_GAME}/crosscode-demo.exe" + ARCHIVE_EXE_TYPE='zip_unclean' + extract_data_from "$ARCHIVE_EXE" +) +icons_get_from_workdir 'APP_MAIN' +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Write launchers + +launchers_write 'APP_MAIN' + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-crypt-of-the-necrodancer.sh play.it-2.12.1/play.it-2/games/play-crypt-of-the-necrodancer.sh --- play.it-2.12.0/play.it-2/games/play-crypt-of-the-necrodancer.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-crypt-of-the-necrodancer.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -113,16 +113,25 @@ target_version='2.5' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-dark-echo.sh play.it-2.12.1/play.it-2/games/play-dark-echo.sh --- play.it-2.12.0/play.it-2/games/play-dark-echo.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-dark-echo.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -87,16 +87,25 @@ target_version='2.3' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-darwinia.sh play.it-2.12.1/play.it-2/games/play-darwinia.sh --- play.it-2.12.0/play.it-2/games/play-darwinia.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-darwinia.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -91,16 +91,25 @@ target_version='2.3' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-dead-cells-rise-of-the-giant.sh play.it-2.12.1/play.it-2/games/play-dead-cells-rise-of-the-giant.sh --- play.it-2.12.0/play.it-2/games/play-dead-cells-rise-of-the-giant.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-dead-cells-rise-of-the-giant.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,115 @@ +#!/bin/sh -e +set -o errexit + +### +# Copyright (c) 2020, Hoël Bézier +# 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. +### + +### +# Dead Cells: Rise of the Giant +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20200707.1 + +# Set game-specific variables + +GAME_ID='dead-cells' +GAME_NAME='Dead Cells: Rise of the Giant DLC' + +ARCHIVE_GOG='dead_cells_rise_of_the_giant_1_9_1_39495.sh' +ARCHIVE_GOG_URL='https://www.gog.com/game/dead_cells_rise_of_the_giant' +ARCHIVE_GOG_MD5='c1d123c88c3e1f85a11ae9d090f626b0' +ARCHIVE_GOG_SIZE='1100' +ARCHIVE_GOG_VERSION='1.9.1-gog39495' +ARCHIVE_GOG_TYPE='mojosetup' + +ARCHIVE_GOG_OLD='dead_cells_rise_of_the_giant_1_8_0_37766.sh' +ARCHIVE_GOG_OLD_MD5='855ef837a9766e5b30ee34d212e5b16b' +ARCHIVE_GOG_OLD_SIZE='1100' +ARCHIVE_GOG_OLD_VERSION='1.8.0-gog37766' +ARCHIVE_GOG_OLD_TYPE='mojosetup' + +ARCHIVE_DOC_MAIN_PATH='data/noarch/docs' +ARCHIVE_DOC_MAIN_FILES='*' + +ARCHIVE_GAME_MAIN_PATH='data/noarch/game' +ARCHIVE_GAME_MAIN_FILES='goggame-1758551289.info' + +PACKAGES_LIST='PKG_MAIN' + +PKG_MAIN_ID="${GAME_ID}-rise-of-the-giant" +PKG_MAIN_DEPS="$GAME_ID" + +# Load common functions + +target_version='2.12' + +if [ -z "$PLAYIT_LIB2" ]; then + : "${XDG_MAIN_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_MAIN_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +#shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +prepare_package_layout +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-dead-cells.sh play.it-2.12.1/play.it-2/games/play-dead-cells.sh --- play.it-2.12.0/play.it-2/games/play-dead-cells.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-dead-cells.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,145 @@ +#!/bin/sh -e +set -o errexit + +### +# Copyright (c) 2020, Hoël Bézier +# 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. +### + +### +# Dead Cells +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20200708.1 + +# Set game-specific variables + +GAME_ID='dead-cells' +GAME_NAME='Dead Cells' + +ARCHIVE_GOG='dead_cells_1_9_1_39495.sh' +ARCHIVE_GOG_URL='https://www.gog.com/game/dead_cells' +ARCHIVE_GOG_MD5='d39f39354e1546e9fb940e7738992b16' +ARCHIVE_GOG_SIZE='690000' +ARCHIVE_GOG_VERSION='1.9.1-gog39495' +ARCHIVE_GOG_TYPE='mojosetup' + +ARCHIVE_GOG_OLD='dead_cells_1_8_0_37766.sh' +ARCHIVE_GOG_OLD_MD5='93a03894720c4e232566300c61ee153b' +ARCHIVE_GOG_OLD_SIZE='670000' +ARCHIVE_GOG_OLD_VERSION='1.8.0-gog37766' +ARCHIVE_GOG_OLD_TYPE='mojosetup' + +ARCHIVE_DOC0_DATA_PATH='data/noarch/docs' +ARCHIVE_DOC0_DATA_FILES='*' + +ARCHIVE_DOC1_DATA_PATH='data/noarch/support' +ARCHIVE_DOC1_DATA_FILES='*.txt' + +ARCHIVE_GAME_BIN_PATH='data/noarch/game' +ARCHIVE_GAME_BIN_FILES='deadcells libhl.so *.hdll' + +ARCHIVE_GAME_DATA_PATH='data/noarch/game' +ARCHIVE_GAME_DATA_FILES='hlboot.dat res.pak' + +DATA_DIRS='./logs ./save' + +APP_MAIN_TYPE='native' +APP_MAIN_LIBS='libhl.so *.hdll' +APP_MAIN_EXE_BIN='deadcells' +APP_MAIN_ICON='data/noarch/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 glibc libmbedtls.so.12 libopenal.so.1 libpng16.so.16 libSDL2-2.0.so.0 libturbojpeg.so.0 libuv.so.1 libvorbisfile.so.3" + + +# Load common functions + +target_version='2.12' + +if [ -z "$PLAYIT_LIB2" ]; then + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +#shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +prepare_package_layout + +# Extract icon + +PKG='PKG_DATA' +icons_get_from_workdir 'APP_MAIN' + +# Remove unused data + +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Write launchers + +PKG='PKG_BIN' +launchers_write 'APP_MAIN' + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-dead-cells-the-bad-seed.sh play.it-2.12.1/play.it-2/games/play-dead-cells-the-bad-seed.sh --- play.it-2.12.0/play.it-2/games/play-dead-cells-the-bad-seed.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-dead-cells-the-bad-seed.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,115 @@ +#!/bin/sh -e +set -o errexit + +### +# Copyright (c) 2020, Hoël Bézier +# 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. +### + +### +# Dead Cells: The Bad Seed +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20200707.1 + +# Set game-specific variables + +GAME_ID='dead-cells' +GAME_NAME='Dead Cells: The Bad Seed DLC' + +ARCHIVE_GOG='dead_cells_the_bad_seed_1_9_1_39495.sh' +ARCHIVE_GOG_URL='https://www.gog.com/game/dead_cells_the_bad_seed' +ARCHIVE_GOG_MD5='745aa46480a45d4bf4904361a4d06110' +ARCHIVE_GOG_SIZE='1100' +ARCHIVE_GOG_VERSION='1.9.1-gog39495' +ARCHIVE_GOG_TYPE='mojosetup' + +ARCHIVE_GOG_OLD='dead_cells_the_bad_seed_1_8_0_37766.sh' +ARCHIVE_GOG_OLD_MD5='3ab8b8c71c1a9079be384a7788592d83' +ARCHIVE_GOG_OLD_SIZE='1100' +ARCHIVE_GOG_OLD_VERSION='1.8.0-gog37766' +ARCHIVE_GOG_OLD_TYPE='mojosetup' + +ARCHIVE_DOC_MAIN_PATH='data/noarch/docs' +ARCHIVE_DOC_MAIN_FILES='*' + +ARCHIVE_GAME_MAIN_PATH='data/noarch/game' +ARCHIVE_GAME_MAIN_FILES='goggame-1114691340.info' + +PACKAGES_LIST='PKG_MAIN' + +PKG_MAIN_ID="${GAME_ID}-the-bad-seed" +PKG_MAIN_DEPS="$GAME_ID" + +# Load common functions + +target_version='2.12' + +if [ -z "$PLAYIT_LIB2" ]; then + : "${XDG_MAIN_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_MAIN_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +#shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +prepare_package_layout +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-dead-synchronicity.sh play.it-2.12.1/play.it-2/games/play-dead-synchronicity.sh --- play.it-2.12.0/play.it-2/games/play-dead-synchronicity.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-dead-synchronicity.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -85,16 +85,25 @@ target_version='2.5' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-deponia-3.sh play.it-2.12.1/play.it-2/games/play-deponia-3.sh --- play.it-2.12.0/play.it-2/games/play-deponia-3.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-deponia-3.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -102,16 +102,25 @@ target_version='2.5' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-deponia.sh play.it-2.12.1/play.it-2/games/play-deponia.sh --- play.it-2.12.0/play.it-2/games/play-deponia.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-deponia.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -93,16 +93,25 @@ target_version='2.4' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-devil-daggers.sh play.it-2.12.1/play.it-2/games/play-devil-daggers.sh --- play.it-2.12.0/play.it-2/games/play-devil-daggers.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-devil-daggers.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,170 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2020, ahub +# 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. +### + +### +# TEMPLATE_GAME_NAME +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + + +script_version='20200925.0' # yyyymmdd.numberOfTries + +# Set game-specific variables + +GAME_ID='devil-daggers' # used for package name +GAME_NAME='Devil Daggers' # used for menu display + + +ARCHIVE_GOG='devil_daggers_en_update_1_20080.sh' +ARCHIVE_GOG_URL='https://www.gog.com/game/devil_daggers' +ARCHIVE_GOG_MD5='cf92f20e5a1662e9585fa500608ebdd1' +ARCHIVE_GOG_SIZE='420000' # rounded up +ARCHIVE_GOG_TYPE='mojosetup_unzip' +ARCHIVE_GOG_VERSION='1.0-gog20080' # get that from the filename gameVersion-providerVersion + +ARCHIVE_DOC_DATA_PATH='data/noarch/docs' +ARCHIVE_DOC_DATA_FILES='*' + +# dd/ default-44100.mhr default-48000.mhr devildaggers lib64/ res/ +ARCHIVE_GAME_BIN_PATH='data/noarch/game' +ARCHIVE_GAME_BIN_FILES='devildaggers lib64' + +ARCHIVE_GAME_DATA_PATH='data/noarch/game' +ARCHIVE_GAME_DATA_FILES='default-44100.mhr default-48000.mhr res core dd' + +DATA_FILES='error_log.txt' + +APP_MAIN_TYPE='native' +APP_MAIN_ICON='data/noarch/support/icon.png' +# APP_MAIN_ICON='../support/icon.png' +APP_MAIN_EXE='devildaggers' + +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" + +# TODO: A voir +# PKG_BIN_DEPS_DEB="$PKG_BIN_DEPS_DEB" +# PKG_BIN_DEPS_ARCH='faudio' +# PKG_BIN_DEPS_GENTOO='app-emulation/faudio' + +# Load common functions + +target_version='2.12' + +if [ -z "$PLAYIT_LIB2" ]; then + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Ensure availability of libcurl.so.4 providing CURL_OPENSSL_3 symbol + +ARCHIVE_OPTIONAL_LIBCURL3='libcurl3_7.52.1_64-bit.tar.gz' +ARCHIVE_OPTIONAL_LIBCURL3_URL='https://downloads.dotslashplay.it/resources/libcurl/' +ARCHIVE_OPTIONAL_LIBCURL3_MD5='e276dd3620c31617baace84dfa3dca21' +ARCHIVE_MAIN="$ARCHIVE" +set_archive 'ARCHIVE_LIBCURL3' 'ARCHIVE_OPTIONAL_LIBCURL3' +if [ "$ARCHIVE_LIBCURL3" ]; then + extract_data_from "$ARCHIVE_LIBCURL3" + mkdir --parents "${PKG_BIN_PATH}${PATH_GAME}/${APP_MAIN_LIBS:=libs}" + mv "$PLAYIT_WORKDIR"/gamedata/* "${PKG_BIN_PATH}${PATH_GAME}/$APP_MAIN_LIBS" + rm --recursive "$PLAYIT_WORKDIR/gamedata" +else + case "${LANG%_*}" in + ('fr') + message='Lʼarchive suivante nʼayant pas été fournie, libcurl.so.4.5.0 ne sera pas inclus dans les paquets : %s\n' + message="$message"'Cette archive peut être téléchargée depuis %s\n' + ;; + ('en'|*) + message='Due to the following archive missing, the packages will not include libcurl.so.4.5.0: %s\n' + message="$message"'This archive can be downloaded from %s\n' + ;; + esac + print_warning + printf "$message" "$ARCHIVE_OPTIONAL_LIBCURL3" "$ARCHIVE_OPTIONAL_LIBCURL3_URL" + printf '\n' +fi +ARCHIVE="$ARCHIVE_MAIN" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +prepare_package_layout + +# Get icon + +PKG='PKG_DATA' +icons_get_from_workdir 'APP_MAIN' +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Write launchers + +PKG='PKG_BIN' +launchers_write 'APP_MAIN' + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-diablo-1.sh play.it-2.12.1/play.it-2/games/play-diablo-1.sh --- play.it-2.12.0/play.it-2/games/play-diablo-1.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-diablo-1.sh 2020-11-25 15:14:43.000000000 +0000 @@ -2,7 +2,7 @@ set -o errexit ### -# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2015-2020, Antoine Le Gonidec # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -34,7 +34,7 @@ # send your bug reports to contact@dotslashplay.it ### -script_version=20200316.1 +script_version=20201011.2 # Set game-specific variables @@ -43,47 +43,55 @@ GAME_ID='diablo-1' GAME_NAME='Diablo' -ARCHIVE_GOG='setup_diablo_1.09_hellfire_v2_(30038).exe' -ARCHIVE_GOG_URL='https://www.gog.com/game/diablo' -ARCHIVE_GOG_TYPE='innosetup' -ARCHIVE_GOG_MD5='e70187d92fa120771db99dfa81679cfc' -ARCHIVE_GOG_VERSION='1.09-gog30038' -ARCHIVE_GOG_SIZE='850000' - -ARCHIVE_GOG_OLD4='setup_diablo_1.09_v6_(28378).exe' -ARCHIVE_GOG_OLD4_TYPE='innosetup' -ARCHIVE_GOG_OLD4_MD5='588ab50c1ef25abb682b86ea4306ea50' -ARCHIVE_GOG_OLD4_VERSION='1.09-gog28378' -ARCHIVE_GOG_OLD4_SIZE='670000' - -ARCHIVE_GOG_OLD3='setup_diablo_1.09_v4_(27989).exe' -ARCHIVE_GOG_OLD3_TYPE='innosetup' -ARCHIVE_GOG_OLD3_MD5='8dac74a616646fa41d5d73f4765cef40' -ARCHIVE_GOG_OLD3_VERSION='1.09-gog27989' -ARCHIVE_GOG_OLD3_SIZE='670000' - -ARCHIVE_GOG_OLD2='setup_diablo_1.09_v3_(27965).exe' -ARCHIVE_GOG_OLD2_TYPE='innosetup' -ARCHIVE_GOG_OLD2_MD5='38d654af858d7a2591711f0e6324fcd0' -ARCHIVE_GOG_OLD2_VERSION='1.09-gog27695' -ARCHIVE_GOG_OLD2_SIZE='670000' - -ARCHIVE_GOG_OLD1='setup_diablo_1.09_v2_(27882).exe' -ARCHIVE_GOG_OLD1_TYPE='innosetup' -ARCHIVE_GOG_OLD1_MD5='83b2d6b8551a9825a426dac7b9302654' -ARCHIVE_GOG_OLD1_VERSION='1.09-gog27882' -ARCHIVE_GOG_OLD1_SIZE='670000' - -ARCHIVE_GOG_OLD0='setup_diablo_1.09_(27873).exe' -ARCHIVE_GOG_OLD0_TYPE='innosetup' -ARCHIVE_GOG_OLD0_MD5='bf57594f5218a794a284b5e2a0f5ba14' -ARCHIVE_GOG_OLD0_VERSION='1.09-gog27873' -ARCHIVE_GOG_OLD0_SIZE='680000' +ARCHIVES_LIST=' +ARCHIVE_GOG_5 +ARCHIVE_GOG_4 +ARCHIVE_GOG_3 +ARCHIVE_GOG_2 +ARCHIVE_GOG_1 +ARCHIVE_GOG_0' + +ARCHIVE_GOG_5='setup_diablo_1.09_hellfire_v2_(30038).exe' +ARCHIVE_GOG_5_URL='https://www.gog.com/game/diablo' +ARCHIVE_GOG_5_TYPE='innosetup' +ARCHIVE_GOG_5_MD5='e70187d92fa120771db99dfa81679cfc' +ARCHIVE_GOG_5_VERSION='1.09-gog30038' +ARCHIVE_GOG_5_SIZE='850000' + +ARCHIVE_GOG_4='setup_diablo_1.09_v6_(28378).exe' +ARCHIVE_GOG_4_TYPE='innosetup' +ARCHIVE_GOG_4_MD5='588ab50c1ef25abb682b86ea4306ea50' +ARCHIVE_GOG_4_VERSION='1.09-gog28378' +ARCHIVE_GOG_4_SIZE='670000' + +ARCHIVE_GOG_3='setup_diablo_1.09_v4_(27989).exe' +ARCHIVE_GOG_3_TYPE='innosetup' +ARCHIVE_GOG_3_MD5='8dac74a616646fa41d5d73f4765cef40' +ARCHIVE_GOG_3_VERSION='1.09-gog27989' +ARCHIVE_GOG_3_SIZE='670000' + +ARCHIVE_GOG_2='setup_diablo_1.09_v3_(27965).exe' +ARCHIVE_GOG_2_TYPE='innosetup' +ARCHIVE_GOG_2_MD5='38d654af858d7a2591711f0e6324fcd0' +ARCHIVE_GOG_2_VERSION='1.09-gog27695' +ARCHIVE_GOG_2_SIZE='670000' + +ARCHIVE_GOG_1='setup_diablo_1.09_v2_(27882).exe' +ARCHIVE_GOG_1_TYPE='innosetup' +ARCHIVE_GOG_1_MD5='83b2d6b8551a9825a426dac7b9302654' +ARCHIVE_GOG_1_VERSION='1.09-gog27882' +ARCHIVE_GOG_1_SIZE='670000' + +ARCHIVE_GOG_0='setup_diablo_1.09_(27873).exe' +ARCHIVE_GOG_0_TYPE='innosetup' +ARCHIVE_GOG_0_MD5='bf57594f5218a794a284b5e2a0f5ba14' +ARCHIVE_GOG_0_VERSION='1.09-gog27873' +ARCHIVE_GOG_0_SIZE='680000' -# devilutionX 1.0.1 release +# devilutionX 1.1.0 release ARCHIVE_REQUIRED_DEVILUTIONX='devilutionx-linux-x86_64.7z' -ARCHIVE_REQUIRED_DEVILUTIONX_URL='https://github.com/diasurgical/devilutionX/releases/tag/1.0.1' -ARCHIVE_REQUIRED_DEVILUTIONX_MD5='f20edf9e2f53efb634890c54f0a79b6a' +ARCHIVE_REQUIRED_DEVILUTIONX_URL='https://github.com/diasurgical/devilutionX/releases/tag/1.1.0' +ARCHIVE_REQUIRED_DEVILUTIONX_MD5='ff0cb792e11e58862e908e6493cef2e4' ARCHIVE_DOC_DATA_PATH='.' ARCHIVE_DOC_DATA_FILES='*.pdf license.txt patch.txt readme.txt update.txt README.txt' @@ -117,16 +125,15 @@ # Load common functions -target_version='2.11' +target_version='2.12' if [ -z "$PLAYIT_LIB2" ]; then - : "${XDG_DATA_HOME:="$HOME/.local/share"}" - for path in\ - "$PWD"\ - "$XDG_DATA_HOME/play.it"\ - '/usr/local/share/games/play.it'\ - '/usr/local/share/play.it'\ - '/usr/share/games/play.it'\ + for path in \ + "$PWD" \ + "${XDG_DATA_HOME:="$HOME/.local/share"}/play.it" \ + '/usr/local/share/games/play.it' \ + '/usr/local/share/play.it' \ + '/usr/share/games/play.it' \ '/usr/share/play.it' do if [ -e "$path/libplayit2.sh" ]; then diff -Nru play.it-2.12.0/play.it-2/games/play-doodle-god.sh play.it-2.12.1/play.it-2/games/play-doodle-god.sh --- play.it-2.12.0/play.it-2/games/play-doodle-god.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-doodle-god.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,131 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2016-2020, Mopi +# 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. +### + +### +# Doodle God +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20201003.2 + +# Set game-specific variables + +GAME_ID='doodle-god' +GAME_NAME='Doodle God' + +ARCHIVE_INDIEGALA='doodle-god_win.zip' +ARCHIVE_INDIEGALA_MD5='cdba1abf1c909c7145da975dac82945d' +ARCHIVE_INDIEGALA_URL='https://freebies.indiegala.com/doodle-god/' +ARCHIVE_INDIEGALA_VERSION='3.1.64-indiegala1' +ARCHIVE_INDIEGALA_SIZE='160000' +ARCHIVE_INDIEGALA_TYPE='rar' + +ARCHIVE_GAME_BIN_PATH='.' +ARCHIVE_GAME_BIN_FILES='DoodleGod.exe *.dll' + +ARCHIVE_GAME_DATA_PATH='.' +ARCHIVE_GAME_DATA_FILES='data' + +DATA_DIRS='./temp' + +APP_MAIN_TYPE='wine' +APP_MAIN_EXE='DoodleGod.exe' +APP_MAIN_ICON='DoodleGod.exe' + +PACKAGES_LIST='PKG_DATA PKG_BIN' + +PKG_DATA_ID="${GAME_ID}-data" +PKG_DATA_DESCRIPTION='data' + +PKG_BIN_ID="$GAME_ID" +PKG_BIN_ARCH='32' +PKG_BIN_DEPS="$PKG_DATA_ID wine glx" + +# Load common functions + +target_version='2.12' + +if [ -z "$PLAYIT_LIB2" ]; then + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +prepare_package_layout +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Get game icon + +PKG='PKG_BIN' +icons_get_from_package 'APP_MAIN' +icons_move_to 'PKG_DATA' + +# Write launchers + +PKG='PKG_BIN' +launchers_write 'APP_MAIN' + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-door-kickers.sh play.it-2.12.1/play.it-2/games/play-door-kickers.sh --- play.it-2.12.0/play.it-2/games/play-door-kickers.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-door-kickers.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -86,16 +86,25 @@ target_version='2.5' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-dragonsphere.sh play.it-2.12.1/play.it-2/games/play-dragonsphere.sh --- play.it-2.12.0/play.it-2/games/play-dragonsphere.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-dragonsphere.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -79,16 +79,25 @@ target_version='2.4' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-dreamfall-chapters.sh play.it-2.12.1/play.it-2/games/play-dreamfall-chapters.sh --- play.it-2.12.0/play.it-2/games/play-dreamfall-chapters.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-dreamfall-chapters.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,125 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2020, HS-157 +# 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. +### + +### +# Dreamfall Chapters +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20200927.4 + +# Set game-specific variables + +GAME_ID='dreamfall-chapters' +GAME_NAME="Dreamfall Chapters" + +ARCHIVE_HUMBLE='Dreamfall_Chapters_Linux_2017_08_25.zip' +ARCHIVE_HUMBLE_TYPE='zip' +ARCHIVE_HUMBLE_URL='https://www.humblebundle.com/store/dreamfall-chapters' +ARCHIVE_HUMBLE_MD5='22bee7bee25920e5cf7febc4b3c12e21' +ARCHIVE_HUMBLE_VERSION='20170825-humble' +ARCHIVE_HUMBLE_SIZE='21000000' + +ARCHIVE_GAME_BIN_PATH_HUMBLE='.' +ARCHIVE_GAME_BIN_FILES='Dreamfall?Chapters' + +ARCHIVE_GAME_DATA_PATH_HUMBLE='.' +ARCHIVE_GAME_DATA_FILES='Dreamfall?Chapters_Data' + +APP_MAIN_TYPE='native' +APP_MAIN_EXE_BIN='Dreamfall Chapters' +APP_MAIN_ICON='Dreamfall Chapters_Data/Resources/UnityPlayer.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 glibc libstdc++ glx xcursor libxrandr" +PKG_BIN_DEPS_ARCH='libx11' +PKG_BIN_DEPS_DEB='libx11-6' +PKG_BIN_DEPS_GENTOO='x11-libs/libX11' + +# Load common functions + +target_version='2.11' + +if [ -z "$PLAYIT_LIB2" ]; then + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +prepare_package_layout +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Write launchers + +PKG='PKG_BIN' +launchers_write 'APP_MAIN' + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-dungeons-2-a-chance-of-dragons.sh play.it-2.12.1/play.it-2/games/play-dungeons-2-a-chance-of-dragons.sh --- play.it-2.12.0/play.it-2/games/play-dungeons-2-a-chance-of-dragons.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-dungeons-2-a-chance-of-dragons.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,108 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# 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. +### + +### +# Dungeons 2 - A Chance of Dragons +# build native Linux packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20201008.1 + +# Set game-specific variables + +GAME_ID='dungeons-2' +GAME_NAME='Dungeons 2 - A Chance of Dragons' + +ARCHIVES_LIST=' +ARCHIVE_GOG_0' + +ARCHIVE_GOG_0='gog_dungeons_2_a_chance_of_dragons_2.0.0.1.sh' +ARCHIVE_GOG_0_URL='https://www.gog.com/game/dungeons_2_a_chance_of_dragons' +ARCHIVE_GOG_0_MD5='d6fcaa7bc9051c8c67301a4af58a7632' +ARCHIVE_GOG_0_SIZE='10000' +ARCHIVE_GOG_0_VERSION='1.6.1.29-gog2.0.0.1' +ARCHIVE_GOG_0_TYPE='mojosetup' + +ARCHIVE_GAME_MAIN_PATH='data/noarch/game' +ARCHIVE_GAME_MAIN_FILES='./Dungeons2_Data' + +PACKAGES_LIST='PKG_MAIN' + +PKG_MAIN_ID="${GAME_ID}-a-chance-of-dragon" +PKG_MAIN_DEPS="$GAME_ID" + +# Load common functions + +target_version='2.12' + +if [ -z "$PLAYIT_LIB2" ]; then + for path in \ + "$PWD" \ + "${XDG_DATA_HOME:="$HOME/.local/share"}/play.it" \ + '/usr/local/share/games/play.it' \ + '/usr/local/share/play.it' \ + '/usr/share/games/play.it' \ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +prepare_package_layout +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-dungeons-2.sh play.it-2.12.1/play.it-2/games/play-dungeons-2.sh --- play.it-2.12.0/play.it-2/games/play-dungeons-2.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-dungeons-2.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -78,16 +78,25 @@ target_version='2.5' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-dungeons-2-song-of-sand-and-fire.sh play.it-2.12.1/play.it-2/games/play-dungeons-2-song-of-sand-and-fire.sh --- play.it-2.12.0/play.it-2/games/play-dungeons-2-song-of-sand-and-fire.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-dungeons-2-song-of-sand-and-fire.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,108 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine Le Gonidec +# 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. +### + +### +# Dungeons 2 - A Song of Sand and Fire +# build native Linux packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20201008.1 + +# Set game-specific variables + +GAME_ID='dungeons-2' +GAME_NAME='Dungeons 2 - A Song of Sand and Fire' + +ARCHIVES_LIST=' +ARCHIVE_GOG_0' + +ARCHIVE_GOG_0='gog_dungeons_2_a_song_of_sand_and_fire_2.0.0.1.sh' +ARCHIVE_GOG_0_URL='https://www.gog.com/game/dungeons_2_a_song_of_sand_and_fire' +ARCHIVE_GOG_0_MD5='70e6beffef5e2197280fe7c9d8052ea5' +ARCHIVE_GOG_0_SIZE='10000' +ARCHIVE_GOG_0_VERSION='1.6.1.29-gog2.0.0.1' +ARCHIVE_GOG_0_TYPE='mojosetup' + +ARCHIVE_GAME_MAIN_PATH='data/noarch/game' +ARCHIVE_GAME_MAIN_FILES='./Dungeons2_Data' + +PACKAGES_LIST='PKG_MAIN' + +PKG_MAIN_ID="${GAME_ID}-a-song-of-sand-and-fire" +PKG_MAIN_DEPS="$GAME_ID" + +# Load common functions + +target_version='2.12' + +if [ -z "$PLAYIT_LIB2" ]; then + for path in \ + "$PWD" \ + "${XDG_DATA_HOME:="$HOME/.local/share"}/play.it" \ + '/usr/local/share/games/play.it' \ + '/usr/local/share/play.it' \ + '/usr/share/games/play.it' \ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +prepare_package_layout +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-dungeons-and-lesbians.sh play.it-2.12.1/play.it-2/games/play-dungeons-and-lesbians.sh --- play.it-2.12.0/play.it-2/games/play-dungeons-and-lesbians.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-dungeons-and-lesbians.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,151 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2016-2020, Mopi +# 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. +### + +### +# Dungeons & Lesbians +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20200925.2 + +# Set game-specific variables + +GAME_ID='dungeons-and-lesbians' +GAME_NAME='Dungeons & Lesbians' + +ARCHIVES_LIST=' +ARCHIVE_ITCH_0' + +ARCHIVE_ITCH_0='DungeonsAndLesbians-1.2-linux.tar.bz2' +ARCHIVE_ITCH_0_URL='https://noeybodys.itch.io/dungeonsandlesbians' +ARCHIVE_ITCH_0_MD5='31015bbbc250043dca3e77c96941655b' +ARCHIVE_ITCH_0_SIZE='200000' +ARCHIVE_ITCH_0_VERSION='1.2-itch1' +ARCHIVE_ITCH_0_TYPE='tar' + +ARCHIVE_GAME_BIN32_PATH='DungeonsAndLesbians-1.2-linux' +ARCHIVE_GAME_BIN32_FILES='lib/linux-i686 DungeonsAndLesbians.sh' + +ARCHIVE_GAME_BIN64_PATH='DungeonsAndLesbians-1.2-linux' +ARCHIVE_GAME_BIN64_FILES='lib/linux-x86_64' + +ARCHIVE_GAME_DATA_PATH='DungeonsAndLesbians-1.2-linux' +ARCHIVE_GAME_DATA_FILES='lib/pythonlib2.7 game DungeonsAndLesbians.py renpy' + +DATA_DIRS='game/saves' + +APP_MAIN_TYPE='native' +APP_MAIN_EXE='DungeonsAndLesbians.sh' +APP_MAIN_ICONS_LIST='APP_MAIN_ICON_ICO APP_MAIN_ICON_PNG' +APP_MAIN_ICON_PNG='game/icon.png' +APP_MAIN_ICON_ICO='game/icon.ico' + +PACKAGES_LIST='PKG_BIN32 PKG_BIN64 PKG_DATA' + +PKG_DATA_ID="${GAME_ID}-data" +PKG_DATA_DESCRIPTION='data' + +PKG_BIN32_ARCH='32' +PKG_BIN32_DEPS="$PKG_DATA_ID glibc libstdc++" + +PKG_BIN64_ARCH='64' +PKG_BIN64_DEPS="$PKG_BIN32_DEPS" + +# Load common functions + +target_version='2.12' + +if [ -z "$PLAYIT_LIB2" ]; then + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +prepare_package_layout + +# Copy launching script between the binaries packages + +LAUNCHER_SOURCE="${PKG_BIN32_PATH}${PATH_GAME}/$APP_MAIN_EXE" +LAUNCHER_DESTINATION="${PKG_BIN64_PATH}${PATH_GAME}/$APP_MAIN_EXE" +mkdir --parents "$(dirname "$LAUNCHER_DESTINATION")" +cp "$LAUNCHER_SOURCE" "$LAUNCHER_DESTINATION" + +# Get icon + +PKG='PKG_DATA' +icons_get_from_package 'APP_MAIN' + +# Clean up temporary directories + +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Write launchers + +for PKG in 'PKG_BIN32' 'PKG_BIN64'; do + launchers_write 'APP_MAIN' +done + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-dust-an-elysian-tale.sh play.it-2.12.1/play.it-2/games/play-dust-an-elysian-tale.sh --- play.it-2.12.0/play.it-2/games/play-dust-an-elysian-tale.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-dust-an-elysian-tale.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to contact@dotslashplay.it ### -script_version=20200502.3 +script_version=20200502.4 # Set game-specific variables @@ -56,20 +56,18 @@ ARCHIVE_DOC_DATA_FILES='Linux.README' ARCHIVE_GAME_BIN32_PATH='data' -ARCHIVE_GAME_BIN32_FILES='DustAET.bin.x86 lib/libmojoshader.so lib/libtheoraplay.so' +ARCHIVE_GAME_BIN32_FILES='lib/libmojoshader.so lib/libtheoraplay.so' ARCHIVE_GAME_BIN64_PATH='data' -ARCHIVE_GAME_BIN64_FILES='DustAET.bin.x86_64 lib64/libmojoshader.so lib64/libtheoraplay.so' +ARCHIVE_GAME_BIN64_FILES='lib64/libmojoshader.so lib64/libtheoraplay.so' ARCHIVE_GAME_DATA_PATH='data' -ARCHIVE_GAME_DATA_FILES='Content data de es fr it ja DustAET.exe Dust?An?Elysian?Tail.bmp monoconfig *.dll *.dll.config' +ARCHIVE_GAME_DATA_FILES='Content data de es fr it ja DustAET.exe Dust?An?Elysian?Tail.bmp monoconfig FNA.dll FNA.dll.config MonoGame.Framework.Net.dll' -APP_MAIN_TYPE='native' -APP_MAIN_PRERUN='# Work around terminfo Mono bug -# cf. https://github.com/mono/mono/issues/6752 -export TERM="${TERM%-256color}"' -APP_MAIN_EXE_BIN32='DustAET.bin.x86' -APP_MAIN_EXE_BIN64='DustAET.bin.x86_64' +APP_MAIN_TYPE='mono' +APP_MAIN_LIBS_BIN32='lib' +APP_MAIN_LIBS_BIN64='lib64' +APP_MAIN_EXE='DustAET.exe' APP_MAIN_ICON='Dust An Elysian Tail.bmp' PACKAGES_LIST='PKG_BIN32 PKG_BIN64 PKG_DATA' @@ -78,14 +76,14 @@ PKG_DATA_DESCRIPTION='data' PKG_BIN32_ARCH='32' -PKG_BIN32_DEPS="$PKG_DATA_ID glibc libstdc++ sdl2 openal vorbis theora" +PKG_BIN32_DEPS="$PKG_DATA_ID mono sdl2 openal vorbis theora" PKG_BIN64_ARCH='64' PKG_BIN64_DEPS="$PKG_BIN32_DEPS" # Load common functions -target_version='2.11' +target_version='2.12' if [ -z "$PLAYIT_LIB2" ]; then : "${XDG_DATA_HOME:="$HOME/.local/share"}" @@ -128,6 +126,16 @@ launchers_write 'APP_MAIN' done +# Disable language override + +pattern='export LANG=C' +replacement='#&' +if [ $DRY_RUN -eq 0 ]; then + sed --in-place "s/${pattern}/${replacement}/" \ + "${PKG_BIN32_PATH}${PATH_BIN}/${GAME_ID}" \ + "${PKG_BIN64_PATH}${PATH_BIN}/${GAME_ID}" +fi + # Build package write_metadata diff -Nru play.it-2.12.0/play.it-2/games/play-edna-and-harvey-harveys-new-eyes.sh play.it-2.12.1/play.it-2/games/play-edna-and-harvey-harveys-new-eyes.sh --- play.it-2.12.0/play.it-2/games/play-edna-and-harvey-harveys-new-eyes.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-edna-and-harvey-harveys-new-eyes.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -82,16 +82,25 @@ target_version='2.4' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-else-heart-break.sh play.it-2.12.1/play.it-2/games/play-else-heart-break.sh --- play.it-2.12.0/play.it-2/games/play-else-heart-break.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-else-heart-break.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -85,16 +85,25 @@ target_version='2.3' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-english-country-tune.sh play.it-2.12.1/play.it-2/games/play-english-country-tune.sh --- play.it-2.12.0/play.it-2/games/play-english-country-tune.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-english-country-tune.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -87,16 +87,25 @@ target_version='2.3' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-escape-goat-2.sh play.it-2.12.1/play.it-2/games/play-escape-goat-2.sh --- play.it-2.12.0/play.it-2/games/play-escape-goat-2.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-escape-goat-2.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180404.2 +script_version=20200918.1 # Set game-specific variables @@ -84,16 +84,25 @@ target_version='2.7' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-escape-goat.sh play.it-2.12.1/play.it-2/games/play-escape-goat.sh --- play.it-2.12.0/play.it-2/games/play-escape-goat.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-escape-goat.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180404.1 +script_version=20200918.1 # Set game-specific variables @@ -84,16 +84,25 @@ target_version='2.7' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-everything-is-garbage.sh play.it-2.12.1/play.it-2/games/play-everything-is-garbage.sh --- play.it-2.12.0/play.it-2/games/play-everything-is-garbage.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-everything-is-garbage.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,141 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2016-2020, Mopi +# 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. +### + +### +# Everything is Garbage +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20201017.1 + +# Set game-specific variables + +GAME_ID='everything-is-garbage' +GAME_NAME='Everything is Garbage' + +ARCHIVES_LIST=' +ARCHIVE_ITCH_0' + +ARCHIVE_ITCH_0='Everything is Garbage Linux Post Jam.zip' +ARCHIVE_ITCH_0_URL='https://vfqd.itch.io/everything-is-garbage' +ARCHIVE_ITCH_0_MD5='0f59c7be925145ab2cf88fa7fb5d30af' +ARCHIVE_ITCH_0_SIZE='100000' +ARCHIVE_ITCH_0_VERSION='1.0-itch' +ARCHIVE_ITCH_0_TYPE='zip' + +ARCHIVE_GAME_BIN_PATH='.' +ARCHIVE_GAME_BIN_FILES='Everything?Is?Garbage.x86_64 Everything?Is?Garbage_Data/Mono*/x86_64 Everything?Is?Garbage_Data/Plugins/x86_64 Everything?Is?Garbage_Data/Managed LinuxPlayer_s.debug UnityPlayer_s.debug UnityPlayer.so' + +ARCHIVE_GAME_DATA_PATH='.' +ARCHIVE_GAME_DATA_FILES='Everything?Is?Garbage_Data' + +DATA_DIRS='./logs' + +APP_MAIN_TYPE='native' +APP_MAIN_PRERUN='# Work around Unity3D poor support for non-US locales +export LANG=C' +APP_MAIN_EXE='Everything Is Garbage.x86_64' +APP_MAIN_ICON='Everything Is Garbage_Data/Resources/UnityPlayer.png' +# Use a per-session dedicated file for logs +# shellcheck disable=SC2016 +APP_MAIN_OPTIONS='-logFile ./logs/$(date +%F-%R).log' + +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 glibc libstdc++" + +# Load common functions + +target_version='2.12' + +if [ -z "$PLAYIT_LIB2" ]; then + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +set_standard_permissions "$PLAYIT_WORKDIR/gamedata" +prepare_package_layout + +# Get icon + +PKG='PKG_DATA' +icons_get_from_package 'APP_MAIN' + +# Clean up temporary directories + +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Write launchers + +PKG='PKG_BIN' +launchers_write 'APP_MAIN' + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-evoland.sh play.it-2.12.1/play.it-2/games/play-evoland.sh --- play.it-2.12.0/play.it-2/games/play-evoland.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-evoland.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -44,7 +44,6 @@ ARCHIVES_LIST='ARCHIVE_HUMBLE' ARCHIVE_HUMBLE='Evoland.exe' -ARCHIVE_HUMBLE_URL='https://www.humblebundle.com/store/evoland' ARCHIVE_HUMBLE_MD5='9585142f38d769d4ac9125f587d0c891' ARCHIVE_HUMBLE_SIZE='110000' ARCHIVE_HUMBLE_VERSION='1.1.2490-humble1' @@ -83,16 +82,25 @@ target_version='2.5' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-factorio.sh play.it-2.12.1/play.it-2/games/play-factorio.sh --- play.it-2.12.0/play.it-2/games/play-factorio.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-factorio.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,137 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# 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. +### + +### +# Factorio +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20200814.1 + +# Set game-specific variables + +GAME_ID='factorio' +GAME_NAME='Factorio' + +ARCHIVES_LIST=' +ARCHIVE_OFFICIAL_0' + +ARCHIVE_OFFICIAL_0='factorio_alpha_x64_1.0.0.tar.xz' +ARCHIVE_OFFICIAL_0_URL='https://www.factorio.com/' +ARCHIVE_OFFICIAL_0_MD5='001910cafbfa8f4ac61b2897f91fe77e' +ARCHIVE_OFFICIAL_0_VERSION='1.0.0-official1' +ARCHIVE_OFFICIAL_0_SIZE='1700000' +ARCHIVE_OFFICIAL_0_TYPE='tar' + +ARCHIVE_GAME_BIN_PATH='factorio' +ARCHIVE_GAME_BIN_FILES='bin/x64/factorio' + +ARCHIVE_GAME_DATA_PATH='factorio' +ARCHIVE_GAME_DATA_FILES='config-path.cfg data' + +CONFIG_FILES='./config-path.cfg' +CONFIG_DIRS='./config' +DATA_FILES='./*.dat ./player-data.json' +DATA_DIRS='./saves ./mods' + +APP_MAIN_TYPE='native' +APP_MAIN_EXE='bin/x64/factorio' +APP_MAIN_ICON='data/core/graphics/factorio-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 glibc glx libxrandr xcursor alsa" + +# Load common functions + +target_version='2.12' + +if [ -z "$PLAYIT_LIB2" ]; then + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +prepare_package_layout + +# Get game icon + +PKG='PKG_DATA' +icons_get_from_package 'APP_MAIN' + +# Clean up temporary files + +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Write launchers + +PKG='PKG_BIN' +launchers_write 'APP_MAIN' + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-fallout-tactics.sh play.it-2.12.1/play.it-2/games/play-fallout-tactics.sh --- play.it-2.12.0/play.it-2/games/play-fallout-tactics.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-fallout-tactics.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,193 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# 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. +### + +### +# Fallout Tactics +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20200926.3 + +# Set game-specific variables + +GAME_ID='fallout-tactics' +GAME_NAME='Fallout Tactics' + +ARCHIVES_LIST=' +ARCHIVE_GOG_EN_0 +ARCHIVE_GOG_FR_0 +' + +ARCHIVE_GOG_EN_0='setup_fallout_tactics_2.1.0.12.exe' +ARCHIVE_GOG_EN_0_MD5='9cc1d9987d8a2fa6c1cc6cf9837758ad' +ARCHIVE_GOG_EN_0_TYPE='innosetup' +ARCHIVE_GOG_EN_0_URL='https://www.gog.com/game/fallout_tactics' +ARCHIVE_GOG_EN_0_VERSION='1.27-gog2.1.0.12' +ARCHIVE_GOG_EN_0_SIZE='1900000' + +ARCHIVE_GOG_FR_0='setup_fallout_tactics_french_2.1.0.12.exe' +ARCHIVE_GOG_FR_0_MD5='520c29934290910cdeecbc7fcca68f2b' +ARCHIVE_GOG_FR_0_TYPE='innosetup' +ARCHIVE_GOG_FR_0_URL='https://www.gog.com/game/fallout_tactics' +ARCHIVE_GOG_FR_0_VERSION='1.27-gog2.1.0.12' +ARCHIVE_GOG_FR_0_SIZE='1900000' + +ARCHIVE_DOC_L10N_PATH='app' +ARCHIVE_DOC_L10N_FILES='readme.txt patch?readme.txt fallout?tactics_license.rtf' + +ARCHIVE_DOC_DATA_PATH='app' +ARCHIVE_DOC_DATA_FILES='*.pdf editor_readme.txt fallout?editor?end?user?license?agreement.txt fot_hires_readme.rtf readme.rtf' + +ARCHIVE_GAME_BIN_PATH='app' +ARCHIVE_GAME_BIN_FILES='*.dll *.exe core/*.cfg' + +ARCHIVE_GAME_L10N_PATH='app' +ARCHIVE_GAME_L10N_FILES='tactics.cfg core/locale core/movie core/music/custom/readme.txt core/entities_0.bos core/gui_0.bos core/locale_0.bos core/loc-mis_*.bos core/mis-core_?.bos' + +ARCHIVE_GAME_DATA_PATH='app' +ARCHIVE_GAME_DATA_FILES='bitmaps miles fallouttactics.ico core/missions core/tables core/user core/*.bos core/game.pck' + +CONFIG_FILES='./*.cfg ./core/*.cfg' +DATA_DIRS='./core/user' +DATA_FILES='./bos.exe ./ft?tools.exe' + +APP_MAIN_TYPE='wine' +APP_MAIN_EXE='bos.exe' +APP_MAIN_ICON='fallouttactics.ico' + +APP_TOOLS_ID="${GAME_ID}_tools" +APP_TOOLS_NAME="$GAME_NAME - Toolbox" +APP_TOOLS_TYPE='wine' +APP_TOOLS_EXE='ft tools.exe' +APP_TOOLS_ICON='fallouttactics.ico' + +APP_MAIN_RESOLUTION_ID="${GAME_ID}_hires" +APP_MAIN_RESOLUTION_NAME="$GAME_NAME - HD patch" +APP_MAIN_RESOLUTION_CAT='Settings' +APP_MAIN_RESOLUTION_TYPE='wine' +APP_MAIN_RESOLUTION_EXE='fot_hires_patch.exe' +APP_MAIN_RESOLUTION_ICON='fallouttactics.ico' + +APP_TOOLS_RESOLUTION_ID="${APP_TOOLS_ID}_hires" +APP_TOOLS_RESOLUTION_NAME="$APP_TOOLS_NAME - HD patch" +APP_TOOLS_RESOLUTION_CAT='Settings' +APP_TOOLS_RESOLUTION_TYPE='wine' +APP_TOOLS_RESOLUTION_EXE='fttools_hires_patch.exe' +APP_TOOLS_RESOLUTION_ICON='fallouttactics.ico' + +PACKAGES_LIST='PKG_BIN PKG_L10N PKG_DATA' + +# Localization - common properties +PKG_L10N_ID="${GAME_ID}-l10n" +PKG_L10N_PROVIDE="$PKG_L10N_ID" + +# Localization - English version +PKG_L10N_ID_GOG_EN="${PKG_L10N_ID}-en" +PKG_L10N_DESCRIPTION_GOG_EN='English localization' + +# Localization - French version +PKG_L10N_ID_GOG_FR="${PKG_L10N_ID}-fr" +PKG_L10N_DESCRIPTION_GOG_FR='French localization' + +# Arch-independent data +PKG_DATA_ID="${GAME_ID}-data" +PKG_DATA_DESCRIPTION='data' + +# Binaries +PKG_BIN_ARCH='32' +PKG_BIN_DEPS="$PKG_DATA_ID $PKG_L10N_ID wine" + +# Load common functions + +target_version='2.11' + +if [ -z "$PLAYIT_LIB2" ]; then + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +prepare_package_layout +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Extract game icons + +PKG='PKG_DATA' +icons_get_from_package \ + 'APP_MAIN' \ + 'APP_MAIN_RESOLUTION' \ + 'APP_TOOLS' \ + 'APP_TOOLS_RESOLUTION' + +# Write launchers + +PKG='PKG_BIN' +launchers_write \ + 'APP_MAIN' \ + 'APP_MAIN_RESOLUTION' \ + 'APP_TOOLS' \ + 'APP_TOOLS_RESOLUTION' + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-far-from-noise.sh play.it-2.12.1/play.it-2/games/play-far-from-noise.sh --- play.it-2.12.0/play.it-2/games/play-far-from-noise.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-far-from-noise.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,141 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2016-2020, Mopi +# 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. +### + +### +# Far From Noise +# build native Linux packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20200926.2 + +# Set game-specific variables + +GAME_ID='far-from-noise' +GAME_NAME='Far From Noise' + +ARCHIVE_ITCH='Windows.zip' +ARCHIVE_ITCH_URL='https://georgebatch.itch.io/far-from-noise' +ARCHIVE_ITCH_MD5='7861db608070316a1a329fb140d90b8f' +ARCHIVE_ITCH_SIZE='300000' +ARCHIVE_ITCH_VERSION='1.0-itch1' + +ARCHIVE_GAME_BIN_PATH='Windows' +ARCHIVE_GAME_BIN_FILES='FarFromNoise.exe FarFromNoise_Data/Plugins FarFromNoise_Data/Mono FarFromNoise_Data/Managed' + +ARCHIVE_GAME_DATA_PATH='Windows' +ARCHIVE_GAME_DATA_FILES='FarFromNoise_Data' + +APP_MAIN_TYPE='wine' +APP_MAIN_EXE='FarFromNoise.exe' +APP_MAIN_ICON='FarFromNoise.exe' + +PACKAGES_LIST='PKG_DATA PKG_BIN' + +PKG_DATA_ID="${GAME_ID}-data" +PKG_DATA_DESCRIPTION='data' + +PKG_BIN_ARCH='32' +PKG_BIN_DEPS="$PKG_DATA_ID wine glx" + +# Use persistent storage for saved games and settings + +DATA_DIRS="$CONFIG_DIRS ./registry-dumps" +APP_MAIN_PRERUN="$APP_MAIN_PRERUN"' +# Set path for persistent dump of saved games and settings +registry_dump_persistent="registry-dumps/persistent.reg"' +APP_MAIN_POSTRUN="$APP_MAIN_POSTRUN"' +# Dump saved games and settings +regedit -E "$registry_dump_persistent" "HKEY_CURRENT_USER\Software\George Batchelor\Far from Noise"' +APP_MAIN_PRERUN="$APP_MAIN_PRERUN"' +# Load dump of saved games and settings +if [ -e "$registry_dump_persistent" ]; then + regedit "$registry_dump_persistent" +fi' + +# Load common functions + +target_version='2.12' + +if [ -z "$PLAYIT_LIB2" ]; then + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +prepare_package_layout +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Get icon + +PKG='PKG_BIN' +icons_get_from_package 'APP_MAIN' + +# Write launchers + +PKG='PKG_BIN' +write_launcher 'APP_MAIN' + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-fatal-fury-special.sh play.it-2.12.1/play.it-2/games/play-fatal-fury-special.sh --- play.it-2.12.0/play.it-2/games/play-fatal-fury-special.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-fatal-fury-special.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,136 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2020, HS-157 +# 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. +### + +### +# FATAL FURY SPECIAL +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20200725.1 + +# Set game-specific variables + +GAME_ID='fatal-fury-special' +GAME_NAME="FATAL FURY SPECIAL" + +ARCHIVE_HUMBLE='FatalFurySpecial_jan2016.sh' +ARCHIVE_HUMBLE_TYPE='mojosetup' +ARCHIVE_HUMBLE_URL='https://www.humblebundle.com/store/fatal-fury-special' +ARCHIVE_HUMBLE_MD5='b13a53d2944281ef2d139719ac727ef3' +ARCHIVE_HUMBLE_VERSION='1.0-humblejan2016' +ARCHIVE_HUMBLE_SIZE='43000' + +ARCHIVE_GAME_BIN32_PATH_HUMBLE='data/x86' +ARCHIVE_GAME_BIN32_FILES='NeogeoEmu.bin.x86 lib' + +ARCHIVE_GAME_BIN64_PATH_HUMBLE='data/x86_64' +ARCHIVE_GAME_BIN64_FILES='NeogeoEmu.bin.x86_64 lib64' + +ARCHIVE_GAME_DATA_PATH_HUMBLE='data/noarch' +ARCHIVE_GAME_DATA_FILES='*' + +APP_MAIN_TYPE='native' +APP_MAIN_ICON='FatalFurySpecial.png' +APP_MAIN_EXE_BIN32='NeogeoEmu.bin.x86' +APP_MAIN_EXE_BIN64='NeogeoEmu.bin.x86_64' + +DATA_FILES='*.ini *.rml *.txt' + +PACKAGES_LIST='PKG_BIN32 PKG_BIN64 PKG_DATA' + +PKG_DATA_ID="${GAME_ID}-data" +PKG_DATA_DESCRIPTION='data' + +PKG_BIN32_ARCH='32' +PKG_BIN32_DEPS="$PKG_DATA_ID glibc libstdc++ sdl2 glx alsa libudev1" + +PKG_BIN64_ARCH='64' +PKG_BIN64_DEPS="$PKG_BIN32_DEPS" + +# Load common functions + +target_version='2.11' + +if [ -z "$PLAYIT_LIB2" ]; then + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +prepare_package_layout +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Extract icon + +PKG='PKG_DATA' +icons_get_from_package 'APP_MAIN' + +# Write launchers +for PKG in 'PKG_BIN32' 'PKG_BIN64'; do + launchers_write 'APP_MAIN' +done + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-fear-equation.sh play.it-2.12.1/play.it-2/games/play-fear-equation.sh --- play.it-2.12.0/play.it-2/games/play-fear-equation.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-fear-equation.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -90,16 +90,25 @@ target_version='2.5' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-feist.sh play.it-2.12.1/play.it-2/games/play-feist.sh --- play.it-2.12.0/play.it-2/games/play-feist.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-feist.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -88,16 +88,25 @@ target_version='2.5' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-fez.sh play.it-2.12.1/play.it-2/games/play-fez.sh --- play.it-2.12.0/play.it-2/games/play-fez.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-fez.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -86,16 +86,25 @@ target_version='2.0' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-fire.sh play.it-2.12.1/play.it-2/games/play-fire.sh --- play.it-2.12.0/play.it-2/games/play-fire.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-fire.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -85,16 +85,25 @@ target_version='2.4' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-flux-caves.sh play.it-2.12.1/play.it-2/games/play-flux-caves.sh --- play.it-2.12.0/play.it-2/games/play-flux-caves.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-flux-caves.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,139 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine Le Gonidec +# Copyright (c) 2016-2020, Mopi +# 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. +### + +### +# Flux Caves +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20201020.2 + +# Set game-specific variables + +GAME_ID='flux-caves' +GAME_NAME='Flux Caves' + +ARCHIVES_LIST=' +ARCHIVE_ITCH_0' + +ARCHIVE_ITCH_0='108_Linux_Full.zip' +ARCHIVE_ITCH_0_URL='https://fubenalvo.itch.io/fluxcaves' +ARCHIVE_ITCH_0_MD5='695038dfa472774ecfda4371100b2eb9' +ARCHIVE_ITCH_0_SIZE='1100000' +ARCHIVE_ITCH_0_VERSION='1.08-itch1' +ARCHIVE_ITCH_0_TYPE='zip' + +ARCHIVE_GAME_BIN_PATH='108_Linux_Full' +ARCHIVE_GAME_BIN_FILES='fluxcaves.x86_64 fluxcaves_Data/Mono*/x86_64 fluxcaves_Data/Plugins/x86_64 fluxcaves_Data/Managed' + +ARCHIVE_GAME_DATA_PATH='108_Linux_Full' +ARCHIVE_GAME_DATA_FILES='fluxcaves_Data' + +DATA_DIRS='./logs' + +APP_MAIN_TYPE='native' +APP_MAIN_PRERUN='# Work around Unity3D poor support for non-US locales +export LANG=C' +APP_MAIN_EXE='fluxcaves.x86_64' +APP_MAIN_ICON='fluxcaves_Data/Resources/UnityPlayer.png' +# Use a per-session dedicated file for logs +# shellcheck disable=SC2016 +APP_MAIN_OPTIONS='-logFile ./logs/$(date +%F-%R).log' + +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 glibc libstdc++ gtk2 freetype libgdk_pixbuf-2.0.so.0 libgobject-2.0.so.0 libglib-2.0.so.0" + +# Load common functions + +target_version='2.12' + +if [ -z "$PLAYIT_LIB2" ]; then + for path in \ + "$PWD" \ + "${XDG_DATA_HOME:="$HOME/.local/share"}/play.it" \ + '/usr/local/share/games/play.it' \ + '/usr/local/share/play.it' \ + '/usr/share/games/play.it' \ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +prepare_package_layout + +# Get icon + +PKG='PKG_DATA' +icons_get_from_package 'APP_MAIN' + +# Clean up temporary directories + +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Write launchers + +PKG='PKG_BIN' +launchers_write 'APP_MAIN' + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-fotonica.sh play.it-2.12.1/play.it-2/games/play-fotonica.sh --- play.it-2.12.0/play.it-2/games/play-fotonica.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-fotonica.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -87,16 +87,25 @@ target_version='2.3' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-fran-bow.sh play.it-2.12.1/play.it-2/games/play-fran-bow.sh --- play.it-2.12.0/play.it-2/games/play-fran-bow.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-fran-bow.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -81,16 +81,25 @@ target_version='2.5' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-gathering-sky.sh play.it-2.12.1/play.it-2/games/play-gathering-sky.sh --- play.it-2.12.0/play.it-2/games/play-gathering-sky.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-gathering-sky.sh 2020-11-25 15:14:43.000000000 +0000 @@ -35,7 +35,7 @@ # send your bug reports to contact@dotslashplay.it ### -script_version=20200602.3 +script_version=20200919.1 # Set game-specific variables @@ -60,6 +60,8 @@ ARCHIVE_GAME_BIN_SHIPPED_FILES='config.json GatheringSky jre' # Common to both launchers +APP_MAIN_PRERUN='# Ensure settings can be stored +mkdir --parents "$HOME/.prefs"' APP_MAIN_ICONS_LIST='APP_MAIN_ICON_16 APP_MAIN_ICON_32 APP_MAIN_ICON_128' APP_MAIN_ICON_16='images/Icon_16.png' APP_MAIN_ICON_32='images/Icon_32.png' diff -Nru play.it-2.12.0/play.it-2/games/play-ghost-master.sh play.it-2.12.1/play.it-2/games/play-ghost-master.sh --- play.it-2.12.0/play.it-2/games/play-ghost-master.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-ghost-master.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -85,16 +85,25 @@ target_version='2.2' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-glittermitten-grove.sh play.it-2.12.1/play.it-2/games/play-glittermitten-grove.sh --- play.it-2.12.0/play.it-2/games/play-glittermitten-grove.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-glittermitten-grove.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,153 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2016-2020, Mopi +# 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. +### + +### +# Glittermitten Grove +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20201017.1 + +# Set game-specific variables + +GAME_ID='glittermitten-grove' +GAME_NAME='Glittermitten Grove' + +ARCHIVES_LIST=' +ARCHIVE_ITCH_0' + +ARCHIVE_ITCH_0='GlittermittenGrove_linux_v131.zip' +ARCHIVE_ITCH_0_URL='https://twinbeard.itch.io/glittermitten-grove' +ARCHIVE_ITCH_0_MD5='ac9b4c6ce2b7ca921e080cee308bf952' +ARCHIVE_ITCH_0_SIZE='860000' +ARCHIVE_ITCH_0_VERSION='131-itch' +ARCHIVE_ITCH_0_TYPE='zip' + +ARCHIVE_GAME_BIN32_PATH='GlittermittenGrove_linux_v131' +ARCHIVE_GAME_BIN32_FILES='gmg.x86 gmg_Data/Mono*/x86 gmg_Data/Plugins/x86' + +ARCHIVE_GAME_BIN64_PATH='GlittermittenGrove_linux_v131' +ARCHIVE_GAME_BIN64_FILES='gmg.x86_64 gmg_Data/Mono*/x86_64 gmg_Data/Plugins/x86_64' + +ARCHIVE_GAME_DATA_PATH='GlittermittenGrove_linux_v131' +ARCHIVE_GAME_DATA_FILES='gmg_Data' + +DATA_DIRS='./logs' + +APP_MAIN_TYPE='native' +APP_MAIN_PRERUN='# Work around Unity3D poor support for non-US locales +export LANG=C' +APP_MAIN_EXE_BIN32='gmg.x86' +APP_MAIN_EXE_BIN64='gmg.x86_64' +APP_MAIN_ICON='gmg_Data/Resources/UnityPlayer.png' +# Use a per-session dedicated file for logs +# shellcheck disable=SC2016 +APP_MAIN_OPTIONS='-logFile ./logs/$(date +%F-%R).log' + +PACKAGES_LIST='PKG_BIN32 PKG_BIN64 PKG_DATA' + +PKG_DATA_ID="${GAME_ID}-data" +PKG_DATA_DESCRIPTION='data' + +PKG_BIN32_ARCH='32' +PKG_BIN32_DEPS="$PKG_DATA_ID glibc libstdc++ glx xcursor libxrandr" +PKG_MAIN_DEPS_ARCH='lib32-libx11' +PKG_MAIN_DEPS_DEB='libx11-6' +PKG_MAIN_DEPS_GENTOO='x11-libs/libX11[abi_x86_32]' + +PKG_BIN64_ARCH='64' +PKG_BIN64_DEPS="$PKG_BIN32_DEPS" +PKG_BIN64_DEPS_ARCH='libx11' +PKG_BIN64_DEPS_DEB="$PKG_BIN32_DEPS_DEB" +PKG_BIN64_DEPS_GENTOO='x11-libs/libX11' + +# Load common functions + +target_version='2.12' + +if [ -z "$PLAYIT_LIB2" ]; then + for path in \ + "$PWD" \ + "${XDG_DATA_HOME:="$HOME/.local/share"}/play.it" \ + '/usr/local/share/games/play.it' \ + '/usr/local/share/play.it' \ + '/usr/share/games/play.it' \ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +prepare_package_layout + +# Get icon + +PKG='PKG_DATA' +icons_get_from_package 'APP_MAIN' + +# Clean up temporary directories + +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Write launchers + +for PKG in 'PKG_BIN32' 'PKG_BIN64'; do + launchers_write 'APP_MAIN' +done + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-gnomoria.sh play.it-2.12.1/play.it-2/games/play-gnomoria.sh --- play.it-2.12.0/play.it-2/games/play-gnomoria.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-gnomoria.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -89,16 +89,25 @@ target_version='2.3' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-godhood.sh play.it-2.12.1/play.it-2/games/play-godhood.sh --- play.it-2.12.0/play.it-2/games/play-godhood.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-godhood.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,172 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# 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. +### + +### +# Godhoob +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20200819.5 + +# Set game-specific variables + +GAME_ID='godhood' +GAME_NAME='Godhood' + +ARCHIVES_LIST=' +ARCHIVE_GOG_0' + +ARCHIVE_GOG_0='godhood_1_0_5_40453.sh' +ARCHIVE_GOG_0_MD5='6e0b1ddd1b9575b2c7d1f61ca2d57681' +ARCHIVE_GOG_0_TYPE='mojosetup' +ARCHIVE_GOG_0_URL='https://www.gog.com/game/godhood' +ARCHIVE_GOG_0_SIZE='900000' +ARCHIVE_GOG_0_VERSION='1.0.5-gog40453' + +ARCHIVE_GAME_BIN_PATH='data/noarch/game' +ARCHIVE_GAME_BIN_FILES='godhood libc++abi.so.1 libc++.so.1' + +ARCHIVE_GAME_DATA_PATH='data/noarch/game' +ARCHIVE_GAME_DATA_FILES='*.bni data i18n' + +CONFIG_DIRS='./userdata/Godhood/userdata' +DATA_DIRS='./userdata/Godhood/savedata' + +APP_MAIN_TYPE='native' +APP_MAIN_EXE='godhood' +APP_MAIN_ICON='data/noarch/support/icon.png' + +PACKAGES_LIST='PKG_DATA PKG_BIN' + +PKG_DATA_ID="${GAME_ID}-data" +PKG_DATA_DESCRIPTION='data' + +PKG_BIN_ARCH='64' +PKG_BIN_DEPS="$PKG_DATA_ID glibc libstdc++ glx glu xcursor sdl2 libxrandr" +PKG_BIN_DEPS_ARCH='libx11' +PKG_BIN_DEPS_DEB='libx11-6' +PKG_BIN_DEPS_GENTOO='x11-libs/libX11' + +# Create required directory for saved games + +APP_MAIN_PRERUN='# Create required directory for saved games +mkdir --parents userdata/Godhood/savedata/Player' + +# Load common functions + +target_version='2.12' + +if [ -z "$PLAYIT_LIB2" ]; then + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Ensure availability of libcurl.so.4 providing CURL_OPENSSL_3 symbol + +ARCHIVE_OPTIONAL_LIBCURL3='libcurl3_7.52.1_64-bit.tar.gz' +ARCHIVE_OPTIONAL_LIBCURL3_URL='https://downloads.dotslashplay.it/resources/libcurl/' +ARCHIVE_OPTIONAL_LIBCURL3_MD5='e276dd3620c31617baace84dfa3dca21' +ARCHIVE_MAIN="$ARCHIVE" +set_archive 'ARCHIVE_LIBCURL3' 'ARCHIVE_OPTIONAL_LIBCURL3' +if [ "$ARCHIVE_LIBCURL3" ]; then + extract_data_from "$ARCHIVE_LIBCURL3" + mkdir --parents "${PKG_BIN_PATH}${PATH_GAME}/${APP_MAIN_LIBS:=libs}" + mv "$PLAYIT_WORKDIR"/gamedata/* "${PKG_BIN_PATH}${PATH_GAME}/$APP_MAIN_LIBS" + rm --recursive "$PLAYIT_WORKDIR/gamedata" +else + case "${LANG%_*}" in + ('fr') + message='Lʼarchive suivante nʼayant pas été fournie, libcurl.so.4.5.0 ne sera pas inclus dans les paquets : %s\n' + message="$message"'Cette archive peut être téléchargée depuis %s\n' + ;; + ('en'|*) + message='Due to the following archive missing, the packages will not include libcurl.so.4.5.0: %s\n' + message="$message"'This archive can be downloaded from %s\n' + ;; + esac + print_warning + printf "$message" "$ARCHIVE_OPTIONAL_LIBCURL3" "$ARCHIVE_OPTIONAL_LIBCURL3_URL" + printf '\n' +fi +ARCHIVE="$ARCHIVE_MAIN" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +prepare_package_layout + +# Get icon + +PKG='PKG_DATA' +icons_get_from_workdir 'APP_MAIN' + +# Clean up temporary files + +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Write launcher + +PKG='PKG_BIN' +launchers_write 'APP_MAIN' + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-gomo.sh play.it-2.12.1/play.it-2/games/play-gomo.sh --- play.it-2.12.0/play.it-2/games/play-gomo.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-gomo.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -73,16 +73,25 @@ target_version='2.3' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-greedcorp.sh play.it-2.12.1/play.it-2/games/play-greedcorp.sh --- play.it-2.12.0/play.it-2/games/play-greedcorp.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-greedcorp.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20171115.1 +script_version=20200918.1 # Set game-specific variables @@ -86,16 +86,25 @@ target_version='2.3' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-gun-toting-cats.sh play.it-2.12.1/play.it-2/games/play-gun-toting-cats.sh --- play.it-2.12.0/play.it-2/games/play-gun-toting-cats.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-gun-toting-cats.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,132 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine Le Gonidec +# Copyright (c) 2016-2020, Mopi +# 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. +### + +### +# Gun-Toting Cats +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20201020.2 + +# Set game-specific variables + +GAME_ID='gun-toting-cats' +GAME_NAME='Gun-Toting Cats' + +ARCHIVES_LIST=' +ARCHIVE_ITCH_0' + +ARCHIVE_ITCH_0='(Linux) GTCats Prototype.zip' +ARCHIVE_ITCH_0_URL='https://kit9studio.itch.io/gun-toting-cats' +ARCHIVE_ITCH_0_MD5='4e020ea013b59e8c04a52e1f7e1e32a9' +ARCHIVE_ITCH_0_SIZE='57000' +ARCHIVE_ITCH_0_VERSION='1.8-itch' +ARCHIVE_ITCH_0_TYPE='zip' + +ARCHIVE_DOC_DATA_PATH='.' +ARCHIVE_DOC_DATA_FILES='licenses.txt' + +ARCHIVE_GAME_BIN_PATH='.' +ARCHIVE_GAME_BIN_FILES='Gun-Toting?Cats?Prototype?1.8' + +ARCHIVE_GAME_DATA_PATH='.' +ARCHIVE_GAME_DATA_FILES='data.pck' + +APP_MAIN_TYPE='native' +APP_MAIN_EXE='Gun-Toting Cats Prototype 1.8' + +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 glibc libstdc++ glx libxrandr xcursor alsa" +PKG_BIN_DEPS_ARCH='libx11' +PKG_BIN_DEPS_DEB='libx11-6' +PKG_BIN_DEPS_GENTOO='x11-libs/libX11' + +# Load common functions + +target_version='2.12' + +if [ -z "$PLAYIT_LIB2" ]; then + for path in \ + "$PWD" \ + "${XDG_DATA_HOME:="$HOME/.local/share"}/play.it" \ + '/usr/local/share/games/play.it' \ + '/usr/local/share/play.it' \ + '/usr/share/games/play.it' \ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +prepare_package_layout + +# Clean up temporary directories + +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Write launchers + +PKG='PKG_BIN' +launchers_write 'APP_MAIN' + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-halcyon-6.sh play.it-2.12.1/play.it-2/games/play-halcyon-6.sh --- play.it-2.12.0/play.it-2/games/play-halcyon-6.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-halcyon-6.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180415.1 +script_version=20200918.1 # Set game-specific variables @@ -83,16 +83,25 @@ target_version='2.7' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-hard-west.sh play.it-2.12.1/play.it-2/games/play-hard-west.sh --- play.it-2.12.0/play.it-2/games/play-hard-west.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-hard-west.sh 2020-11-25 15:14:43.000000000 +0000 @@ -35,7 +35,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20181004.3 +script_version=20201004.1 # Set game-specific variables @@ -49,6 +49,12 @@ ARCHIVE_GOG_VERSION='1.5-gog2.7.0.8' ARCHIVE_GOG_TYPE='mojosetup' +ARCHIVE_GOG_DLC='gog_hard_west_scars_of_freedom_dlc_2.3.0.4.sh' +ARCHIVE_GOG_DLC_MD5='bb4368afaf670f0d8ebc09f7bb1f3713' +ARCHIVE_GOG_DLC_SIZE='200000' +ARCHIVE_GOG_DLC_TYPE='mojosetup' +ARCHIVE_GOG_DLC_URL='https://www.gog.com/game/hard_west_scars_of_freedom' + ARCHIVE_DOC_DATA_PATH='data/noarch/docs' ARCHIVE_DOC_DATA_FILES='*' @@ -59,7 +65,7 @@ ARCHIVE_GAME_BIN64_FILES='HardWest.x86_64 HardWest_Data/*/x86_64' ARCHIVE_GAME_DATA_PATH='data/noarch/game' -ARCHIVE_GAME_DATA_FILES='Data HardWest_Data' +ARCHIVE_GAME_DATA_FILES='Data Data_dlc1 HardWest_Data' DATA_DIRS='./logs ./Documents' CONFIG_DIRS='./.config' @@ -123,9 +129,23 @@ #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" +# Load extra archives (DLC) + +ARCHIVE_MAIN="$ARCHIVE" +set_archive "ARCHIVE_DLC" "ARCHIVE_GOG_DLC" +ARCHIVE="$ARCHIVE_MAIN" + # Extract game data extract_data_from "$SOURCE_ARCHIVE" +if [ "$ARCHIVE_DLC" ]; then + ( + # shellcheck disable=SC2030 + ARCHIVE='ARCHIVE_DLC' + extract_data_from "$ARCHIVE_DLC" + ) +fi + prepare_package_layout rm --recursive "$PLAYIT_WORKDIR/gamedata" diff -Nru play.it-2.12.0/play.it-2/games/play-harry-potter-and-the-transformency-spell.sh play.it-2.12.1/play.it-2/games/play-harry-potter-and-the-transformency-spell.sh --- play.it-2.12.0/play.it-2/games/play-harry-potter-and-the-transformency-spell.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-harry-potter-and-the-transformency-spell.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,152 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2016-2020, Mopi +# 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. +### + +### +# Harry Potter and the Transformency Spell +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20201009.1 + +# Set game-specific variables + +GAME_ID='harry-potter-and-the-transformency-spell' +GAME_NAME='Harry Potter and the Transformency Spell' + +ARCHIVES_LIST=' +ARCHIVE_ITCH_0' + +ARCHIVE_ITCH_0='eng_WizardLove_Exchange-linux.tar.bz2' +ARCHIVE_ITCH_0_URL='https://rivarsstudio.itch.io/hpatts' +ARCHIVE_ITCH_0_MD5='bde8b88d4de6ba7f5b35648a38f5b5c9' +ARCHIVE_ITCH_0_SIZE='88000' +ARCHIVE_ITCH_0_VERSION='1.0-itch' +ARCHIVE_ITCH_0_TYPE='tar' + +ARCHIVE_DOC_DATA_PATH='WizardLove_Exchange-linux' +ARCHIVE_DOC_DATA_FILES='README.html' + +ARCHIVE_GAME_BIN32_PATH='WizardLove_Exchange-linux' +ARCHIVE_GAME_BIN32_FILES='lib/linux-i686 Wizard?Love?_?Exchange.sh' + +ARCHIVE_GAME_BIN64_PATH='WizardLove_Exchange-linux' +ARCHIVE_GAME_BIN64_FILES='lib/linux-x86_64' + +ARCHIVE_GAME_DATA_PATH='WizardLove_Exchange-linux' +ARCHIVE_GAME_DATA_FILES='lib/pythonlib2.7 game Wizard?Love?_?Exchange.py renpy' + +DATA_DIRS='game/saves' + +APP_MAIN_TYPE='native' +APP_MAIN_EXE='Wizard Love _ Exchange.sh' +APP_MAIN_ICON='game/images/icon.png' + +PACKAGES_LIST='PKG_BIN32 PKG_BIN64 PKG_DATA' + +PKG_DATA_ID="${GAME_ID}-data" +PKG_DATA_DESCRIPTION='data' + +PKG_BIN32_ARCH='32' +PKG_BIN32_DEPS="$PKG_DATA_ID glibc libstdc++" + +PKG_BIN64_ARCH='64' +PKG_BIN64_DEPS="$PKG_BIN32_DEPS" + +# Load common functions + +target_version='2.12' + +if [ -z "$PLAYIT_LIB2" ]; then + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +prepare_package_layout + +# Copy launching script between the binaries packages + +LAUNCHER_SOURCE="${PKG_BIN32_PATH}${PATH_GAME}/$APP_MAIN_EXE" +LAUNCHER_DESTINATION="${PKG_BIN64_PATH}${PATH_GAME}/$APP_MAIN_EXE" +mkdir --parents "$(dirname "$LAUNCHER_DESTINATION")" +cp "$LAUNCHER_SOURCE" "$LAUNCHER_DESTINATION" + +# Get icon + +PKG='PKG_DATA' +icons_get_from_package 'APP_MAIN' + +# Clean up temporary directories + +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Write launchers + +for PKG in 'PKG_BIN32' 'PKG_BIN64'; do + launchers_write 'APP_MAIN' +done + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-hatoful-boyfriend.sh play.it-2.12.1/play.it-2/games/play-hatoful-boyfriend.sh --- play.it-2.12.0/play.it-2/games/play-hatoful-boyfriend.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-hatoful-boyfriend.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -90,16 +90,25 @@ target_version='2.3' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-haven-moon.sh play.it-2.12.1/play.it-2/games/play-haven-moon.sh --- play.it-2.12.0/play.it-2/games/play-haven-moon.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-haven-moon.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -79,16 +79,25 @@ target_version='2.3' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-hellblade-senuas-sacrifice.sh play.it-2.12.1/play.it-2/games/play-hellblade-senuas-sacrifice.sh --- play.it-2.12.0/play.it-2/games/play-hellblade-senuas-sacrifice.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-hellblade-senuas-sacrifice.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,246 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# 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. +### + +### +# Hellblade: Senuaʼs Sacrifice +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20200927.1 + +# Set game-specific variables + +GAME_ID='hellblade-senuas-sacrifice' +GAME_NAME='Hellblade: Senuaʼs Sacrifice' + +ARCHIVES_LIST=' +ARCHIVE_GOG_0 +' + +ARCHIVE_GOG_0='setup_hellblade_senuas_sacrifice_1.03_(25168).exe' +ARCHIVE_GOG_0_MD5='0568c6e5c57dd64cc0a23a77fe54aafd' +ARCHIVE_GOG_0_TYPE='innosetup' +ARCHIVE_GOG_0_URL='https://www.gog.com/game/hellblade_senuas_sacrifice_pack' +ARCHIVE_GOG_0_VERSION='1.03-gog25168' +ARCHIVE_GOG_0_SIZE='23000000' +ARCHIVE_GOG_0_PART1='setup_hellblade_senuas_sacrifice_1.03_(25168)-1.bin' +ARCHIVE_GOG_0_PART1_MD5='b01d26d7555d26f2dc1cb8a361564cb7' +ARCHIVE_GOG_0_PART1_TYPE='innosetup' +ARCHIVE_GOG_0_PART2='setup_hellblade_senuas_sacrifice_1.03_(25168)-2.bin' +ARCHIVE_GOG_0_PART2_MD5='8e7e4e73fa6a535a4856005be7ea8cbb' +ARCHIVE_GOG_0_PART2_TYPE='innosetup' +ARCHIVE_GOG_0_PART3='setup_hellblade_senuas_sacrifice_1.03_(25168)-3.bin' +ARCHIVE_GOG_0_PART3_MD5='fcabee54e6f1072cbdbd46eb2a8ca0f8' +ARCHIVE_GOG_0_PART3_TYPE='innosetup' +ARCHIVE_GOG_0_PART4='setup_hellblade_senuas_sacrifice_1.03_(25168)-4.bin' +ARCHIVE_GOG_0_PART4_MD5='6fce92bde8bb15b0e706a7030874a3a9' +ARCHIVE_GOG_0_PART4_TYPE='innosetup' + +ARCHIVE_DOC_DATA_PATH='' +ARCHIVE_DOC_DATA_FILES='' + +ARCHIVE_GAME_BIN_PATH='.' +ARCHIVE_GAME_BIN_FILES='engine hellbladegame/binaries hellbladegame/content/bink hellbladegame.exe' + +ARCHIVE_GAME_DATA_PAK_1_PATH='.' +ARCHIVE_GAME_DATA_PAK_1_FILES='hellbladegame/content/paks/hellbladegame-windowsnoeditor.pak.1' + +ARCHIVE_GAME_DATA_PAK_2_PATH='.' +ARCHIVE_GAME_DATA_PAK_2_FILES='hellbladegame/content/paks/hellbladegame-windowsnoeditor.pak.2' + +ARCHIVE_GAME_DATA_PATH='.' +ARCHIVE_GAME_DATA_FILES='hellbladegame' + +APP_MAIN_TYPE='wine' +APP_MAIN_EXE='hellbladegame.exe' +APP_MAIN_ICON='hellbladegame.exe' + +PACKAGES_LIST='PKG_BIN PKG_DATA_PAK_1 PKG_DATA_PAK_2 PKG_DATA' + +PKG_DATA_ID="${GAME_ID}-data" +PKG_DATA_PRERM_RUN='' +PKG_DATA_DESCRIPTION='data' + +PKG_DATA_PAK_1_ID="${PKG_DATA_ID}-pak-1" +PKG_DATA_PAK_1_DESCRIPTION='data - pak - chunk 1' + +PKG_DATA_PAK_2_ID="${PKG_DATA_ID}-pak-2" +PKG_DATA_PAK_2_DESCRIPTION='data - pak - chunk 2' + +PKG_DATA_DEPENDS="$PKG_DATA_PAK_1_ID $PKG_DATA_PAK_2_ID" + +PKG_BIN_ARCH='64' +PKG_BIN_DEPS="$PKG_DATA_ID wine" + +# Store user data in persistent paths + +DATA_DIRS="$DATA_DIRS ./userdata" +APP_MAIN_PRERUN="$APP_MAIN_PRERUN"' +# Store user data in persistent paths +userdata_path_prefix="$WINEPREFIX/drive_c/users/$USER/Local Settings/Application Data/HellbladeGame" +userdata_path_persistent="$PATH_PREFIX/userdata" +if [ ! -h "$userdata_path_prefix" ]; then + if [ -d "$userdata_path_prefix" ]; then + # Migrate existing user data to the persistent path + mv "$userdata_path_prefix"/* "$userdata_path_persistent" + rmdir "$userdata_path_prefix" + fi + # Create link from prefix to persistent path + mkdir --parents "$(dirname "$userdata_path_prefix")" + ln --symbolic "$userdata_path_persistent" "$userdata_path_prefix" +fi' + +# Load common functions + +target_version='2.12' + +if [ -z "$PLAYIT_LIB2" ]; then + for path in \ + "$PWD" \ + "${XDG_DATA_HOME:="$HOME/.local/share"}/play.it" \ + '/usr/local/share/games/play.it' \ + '/usr/local/share/play.it' \ + '/usr/share/games/play.it' \ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Enable dxvk patches in the WINE prefix + +case "$OPTION_PACKAGE" in + ('deb') + APP_MAIN_PRERUN="$APP_MAIN_PRERUN"' + # Install dxvk on first launch + if [ ! -e dxvk_installed ]; then + sleep 3s + dxvk-setup install --development + touch dxvk_installed + fi' + PKG_BIN_DEPS="$PKG_BIN_DEPS dxvk-wine64-development dxvk" + ;; + ('arch'|'gentoo') + APP_WINETRICKS="$APP_WINETRICKS dxvk" + PKG_BIN_DEPS="$PKG_BIN_DEPS winetricks" + ;; +esac + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" + +# Split huge file into smaller chunks + +### +# TODO +# With games getting bigger, a library-side function splitting files based on a maximum size may be helpful +# To ensure compatibility with .deb package format, we should never have to handle files bigger than 9GB +### +huge_file="$PLAYIT_WORKDIR/gamedata/hellbladegame/content/paks/hellbladegame-windowsnoeditor.pak" +case "${LANG%_*}" in + ('fr') + message='Découpage de %s en plusieurs fichiers…' + ;; + ('en'|*) + message='Splitting %s into smaller chunks…' + ;; +esac +# shellcheck disable=SC2059 +printf "$message" "$huge_file" +if [ $DRY_RUN -eq 0 ]; then + split --bytes=9G --numeric-suffixes=1 --suffix-length=1 "$huge_file" "${huge_file}." + rm "$huge_file" +fi +printf '\t' +print_ok + +# Set package scripts to rebuild the full file from its chunks + +PKG_DATA_POSTINST_RUN="huge_file='$PATH_GAME/hellbladegame/content/paks/hellbladegame-windowsnoeditor.pak'" +# shellcheck disable=SC2016 +PKG_DATA_POSTINST_RUN="$PKG_DATA_POSTINST_RUN"' +case "${LANG%_*}" in + ("fr") + message="Reconstruction de %s à partir de ses parties…\n" + ;; + ("en"|*) + message="Rebuilding %s from its chunks…\n" + ;; +esac +printf "$message" "$huge_file" +cat "${huge_file}."* > "$huge_file" +rm "${huge_file}."*' +PKG_DATA_PRERM_RUN="huge_file='$PATH_GAME/hellbladegame/content/paks/hellbladegame-windowsnoeditor.pak'" +# shellcheck disable=SC2016 +PKG_DATA_PRERM_RUN="$PKG_DATA_PRERM_RUN"' +rm "$huge_file"' + +# Prepare packages layout + +prepare_package_layout +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Get game icons + +PKG='PKG_BIN' +icons_get_from_package 'APP_MAIN' +icons_move_to 'PKG_DATA' + +# Write launchers + +PKG='PKG_BIN' +launchers_write 'APP_MAIN' + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-heroes-chronicles.sh play.it-2.12.1/play.it-2/games/play-heroes-chronicles.sh --- play.it-2.12.0/play.it-2/games/play-heroes-chronicles.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-heroes-chronicles.sh 2020-11-25 15:14:43.000000000 +0000 @@ -1,4 +1,4 @@ -#!/bin/sh -e +#!/bin/sh set -o errexit ### @@ -30,16 +30,27 @@ ### # Heroes Chronicles -# build native Linux packages from the original installers -# send your bug reports to vv221@dotslashplay.it +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it ### -script_version=20180224.1 +script_version=20200930.2 # Set game-specific variables GAME_ID='heroes-chronicles' +for i in $(seq 1 8); do + export GAME_ID_GOG_$i="${GAME_ID}-$i" +done GAME_NAME='Heroes Chronicles' +GAME_NAME_GOG_1="$GAME_NAME 1 - Warlords of the Wasteland" +GAME_NAME_GOG_2="$GAME_NAME 2 - Conquest of the Underworld" +GAME_NAME_GOG_3="$GAME_NAME 3 - Masters of the Elements" +GAME_NAME_GOG_4="$GAME_NAME 4 - Clash of the Dragons" +GAME_NAME_GOG_5="$GAME_NAME 5 - The World Tree" +GAME_NAME_GOG_6="$GAME_NAME 6 - The Fiery Moon" +GAME_NAME_GOG_7="$GAME_NAME 7 - Revolt of the Beastmasters" +GAME_NAME_GOG_8="$GAME_NAME 8 - The Sword of Frost" ARCHIVES_LIST='ARCHIVE_GOG_1 ARCHIVE_GOG_2 ARCHIVE_GOG_3 ARCHIVE_GOG_4 ARCHIVE_GOG_5 ARCHIVE_GOG_6 ARCHIVE_GOG_7 ARCHIVE_GOG_8' @@ -99,26 +110,29 @@ ARCHIVE_DOC_DATA_PATH_GOG_6='app/the fiery moon' ARCHIVE_DOC_DATA_PATH_GOG_7='app/revolt of the beastmasters' ARCHIVE_DOC_DATA_PATH_GOG_8='app/the sword of frost' -ARCHIVE_DOC_DATA_FILES='./*.pdf ./*.txt' +ARCHIVE_DOC_DATA_FILES='*.pdf *.txt' ARCHIVE_DOC_COMMON_PATH='tmp' -ARCHIVE_DOC_COMMON_FILES='./*.txt' +ARCHIVE_DOC_COMMON_FILES='*.txt' ARCHIVE_GAME_BIN_PATH='app' -ARCHIVE_GAME_BIN_FILES='./*/*.asi ./*/*.exe ./*/binkw32.dll ./*/ifc20.dll ./*/mcp.dll ./*/mss32.dll ./*/smackw32.dll' +ARCHIVE_GAME_BIN_FILES='*/*.asi */*.exe */binkw32.dll */ifc20.dll */mcp.dll */mss32.dll */smackw32.dll' ARCHIVE_GAME_DATA_PATH='app' -ARCHIVE_GAME_DATA_FILES='./*/data ./*/maps' +ARCHIVE_GAME_DATA_FILES='*/data */maps' ARCHIVE_GAME_COMMON_PATH='app' -ARCHIVE_GAME_COMMON_FILES='./data ./mp3' +ARCHIVE_GAME_COMMON_FILES='data mp3' DATA_DIRS='./*/games ./*/maps' DATA_FILES='./data/*.lod ./*/data/*.lod' -APP_WINETRICKS='vd=800x600' +APP_WINETRICKS="vd=\$(xrandr|awk '/\\*/ {print \$1}')" APP_MAIN_TYPE='wine' +APP_MAIN_PRERUN='# Run the game binary from its parent directory +cd "$(dirname "$APP_EXE")" +APP_EXE=$(basename "$APP_EXE")' APP_MAIN_EXE_GOG_1='warlords of the wasteland/warlords.exe' APP_MAIN_EXE_GOG_2='conquest of the underworld/underworld.exe' APP_MAIN_EXE_GOG_3='masters of the elements/elements.exe' @@ -127,15 +141,6 @@ APP_MAIN_EXE_GOG_6='the fiery moon/fierymoon.exe' APP_MAIN_EXE_GOG_7='revolt of the beastmasters/beastmaster.exe' APP_MAIN_EXE_GOG_8='the sword of frost/sword.exe' -APP_MAIN_ICON_GOG_1="$APP_MAIN_EXE_GOG_1" -APP_MAIN_ICON_GOG_2="$APP_MAIN_EXE_GOG_2" -APP_MAIN_ICON_GOG_3="$APP_MAIN_EXE_GOG_3" -APP_MAIN_ICON_GOG_4="$APP_MAIN_EXE_GOG_4" -APP_MAIN_ICON_GOG_5="$APP_MAIN_EXE_GOG_5" -APP_MAIN_ICON_GOG_6="$APP_MAIN_EXE_GOG_6" -APP_MAIN_ICON_GOG_7="$APP_MAIN_EXE_GOG_7" -APP_MAIN_ICON_GOG_8="$APP_MAIN_EXE_GOG_8" -APP_MAIN_ICON_RES='16 32 48 64' PACKAGES_LIST='PKG_COMMON PKG_DATA PKG_BIN' @@ -144,94 +149,58 @@ PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' +PKG_DATA_DEPS="$PKG_COMMON_ID" PKG_BIN_ARCH='32' -PKG_BIN_DEPS="$PKG_COMMON_ID $PKG_DATA_ID wine winetricks" +PKG_BIN_DEPS="$PKG_DATA_ID wine winetricks xrandr" # Load common functions -target_version='2.5' +target_version='2.12' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi -#shellcheck source=play.it-2/lib/libplayit2.sh +# shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" # Set GAME_ID, GAME_NAME, APP_EXE and APP_ICON based on archive GAME_ID_COMMON="$GAME_ID" GAME_NAME_COMMON="$GAME_NAME" -case "$ARCHIVE" in - ('ARCHIVE_GOG_1') - GAME_ID="${GAME_ID}-1" - GAME_NAME="$GAME_NAME 1 - Warlords of the Wasteland" - APP_MAIN_EXE="$APP_MAIN_EXE_GOG_1" - APP_MAIN_ICON="$APP_MAIN_ICON_GOG_1" - ;; - ('ARCHIVE_GOG_2') - GAME_ID="${GAME_ID}-2" - GAME_NAME="$GAME_NAME 2 - Conquest of the Underworld" - APP_MAIN_EXE="$APP_MAIN_EXE_GOG_2" - APP_MAIN_ICON="$APP_MAIN_ICON_GOG_2" - ;; - ('ARCHIVE_GOG_3') - GAME_ID="${GAME_ID}-3" - GAME_NAME="$GAME_NAME 3 - Masters of the Elements" - APP_MAIN_EXE="$APP_MAIN_EXE_GOG_3" - APP_MAIN_ICON="$APP_MAIN_ICON_GOG_3" - ;; - ('ARCHIVE_GOG_4') - GAME_ID="${GAME_ID}-4" - GAME_NAME="$GAME_NAME 4 - Clash of the Dragons" - APP_MAIN_EXE="$APP_MAIN_EXE_GOG_4" - APP_MAIN_ICON="$APP_MAIN_ICON_GOG_4" - ;; - ('ARCHIVE_GOG_5') - GAME_ID="${GAME_ID}-5" - GAME_NAME="$GAME_NAME 5 - The World Tree" - APP_MAIN_EXE="$APP_MAIN_EXE_GOG_5" - APP_MAIN_ICON="$APP_MAIN_ICON_GOG_5" - ;; - ('ARCHIVE_GOG_6') - GAME_ID="${GAME_ID}-6" - GAME_NAME="$GAME_NAME 6 - The Fiery Moon" - APP_MAIN_EXE="$APP_MAIN_EXE_GOG_6" - APP_MAIN_ICON="$APP_MAIN_ICON_GOG_6" - ;; - ('ARCHIVE_GOG_7') - GAME_ID="${GAME_ID}-7" - GAME_NAME="$GAME_NAME 7 - Revolt of the Beastmasters" - APP_MAIN_EXE="$APP_MAIN_EXE_GOG_7" - APP_MAIN_ICON="$APP_MAIN_ICON_GOG_7" - ;; - ('ARCHIVE_GOG_8') - GAME_ID="${GAME_ID}-8" - GAME_NAME="$GAME_NAME 8 - The Sword of Frost" - APP_MAIN_EXE="$APP_MAIN_EXE_GOG_8" - APP_MAIN_ICON="$APP_MAIN_ICON_GOG_8" - ;; -esac +use_archive_specific_value 'GAME_ID' +use_archive_specific_value 'GAME_NAME' +use_archive_specific_value 'APP_MAIN_EXE' +APP_MAIN_ICON="$APP_MAIN_EXE" # Update PKG_ID based on new GAME_ID value PKG_BIN_ID="$GAME_ID" PKG_DATA_ID="${GAME_ID}-data" -PKG_BIN_DEPS="$PKG_COMMON_ID $PKG_DATA_ID wine winetricks" +PKG_BIN_DEPS="$PKG_DATA_ID wine winetricks" # Update PATH_DOC and PATH_GAME based on new GAME_ID value case "$OPTION_PACKAGE" in - ('arch') + ('arch'|'gentoo') PATH_DOC="$OPTION_PREFIX/share/doc/$GAME_ID" PATH_DOC_COMMON="$OPTION_PREFIX/share/doc/$GAME_ID_COMMON" PATH_GAME="$OPTION_PREFIX/share/$GAME_ID" @@ -254,58 +223,53 @@ extract_data_from "$SOURCE_ARCHIVE" -for PKG in 'PKG_DATA' 'PKG_BIN'; do - organize_data "DOC_${PKG#PKG_}" "$PATH_DOC" - organize_data "GAME_${PKG#PKG_}" "$PATH_GAME" -done - PKG='PKG_COMMON' organize_data 'DOC_COMMON' "$PATH_DOC_COMMON" organize_data 'GAME_COMMON' "$PATH_GAME_COMMON" +prepare_package_layout + +# Get game icon + PKG='PKG_BIN' -extract_and_sort_icons_from 'APP_MAIN' -move_icons_to 'PKG_DATA' +icons_get_from_package 'APP_MAIN' +icons_move_to 'PKG_DATA' + +# Clean up temporary files + +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Create required missing directories ( cd "${PKG_DATA_PATH}${PATH_GAME}"/* mkdir --parents 'games' 'maps' ) -rm --recursive "$PLAYIT_WORKDIR/gamedata" - # Write launchers PKG='PKG_BIN' -write_launcher 'APP_MAIN' - -file="${PKG_BIN_PATH}${PATH_BIN}/$GAME_ID" -# shellcheck disable=SC2016 -pattern='s,^cd "$PATH_PREFIX",cd "$PATH_PREFIX/${APP_EXE%/*}",' -# shellcheck disable=SC2016 -pattern="$pattern"';s,^wine "$APP_EXE" $APP_OPTIONS $@,wine "${APP_EXE##*/}" $APP_OPTIONS $@,' -sed --in-place "$pattern" "$file" +launchers_write 'APP_MAIN' # Build package -cat > "$postinst" << EOF -for dir in 'data' 'mp3'; do - if [ ! -e "$PATH_GAME/\$dir" ]; then - cp --force --recursive --symbolic-link --update "$PATH_GAME_COMMON/\$dir" "$PATH_GAME" +PKG_DATA_POSTINST_RUN="# Link common files shared by the games series +for dir in data mp3; do + if [ ! -e '$PATH_GAME'/\$dir ]; then + cp --force --recursive --symbolic-link --update '$PATH_GAME_COMMON'/\$dir '$PATH_GAME' fi -done -EOF -cat > "$prerm" << EOF -for dir in 'data' 'mp3'; do - if [ -e "$PATH_GAME/\$dir" ]; then - rm --force --recursive "$PATH_GAME/\$dir" +done" +PKG_DATA_PRERM_RUN="# Delete links to common files shared by the games series +for dir in data mp3; do + if [ -e '$PATH_GAME'/\$dir ]; then + rm --force --recursive '$PATH_GAME'/\$dir fi -done -EOF -write_metadata 'PKG_DATA' -write_metadata 'PKG_BIN' -GAME_NAME="$GAME_NAME_COMMON" -write_metadata 'PKG_COMMON' +done" +write_metadata 'PKG_DATA' 'PKG_BIN' +( + GAME_NAME="$GAME_NAME_COMMON" + write_metadata 'PKG_COMMON' +) build_pkg # Clean up diff -Nru play.it-2.12.0/play.it-2/games/play-heroes-of-might-and-magic-1.sh play.it-2.12.1/play.it-2/games/play-heroes-of-might-and-magic-1.sh --- play.it-2.12.0/play.it-2/games/play-heroes-of-might-and-magic-1.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-heroes-of-might-and-magic-1.sh 2020-11-25 15:14:43.000000000 +0000 @@ -1,4 +1,4 @@ -#!/bin/sh -e +#!/bin/sh set -o errexit ### @@ -29,145 +29,145 @@ ### ### -# Heroes of Might and Magic -# build native Linux packages from the original installers -# send your bug reports to vv221@dotslashplay.it +# Heroes of Might and Magic: A Strategic Quest +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it ### -script_version=20180802.1 +script_version=20200715.6 # Set game-specific variables GAME_ID='heroes-of-might-and-magic-1' GAME_NAME='Heroes of Might and Magic: A Strategic Quest' -ARCHIVES_LIST='ARCHIVE_GOG_EN ARCHIVE_GOG_FR' - -ARCHIVE_GOG_EN='setup_heroes_of_might_and_magic_2.3.0.45.exe' -ARCHIVE_GOG_EN_URL='https://www.gog.com/game/heroes_of_might_and_magic' -ARCHIVE_GOG_EN_MD5='2cae1821085090e30e128cd0a76b0d21' -ARCHIVE_GOG_EN_SIZE='530000' -ARCHIVE_GOG_EN_VERSION='1.0-gog2.3.0.45' - -ARCHIVE_GOG_FR='setup_heroes_of_might_and_magic_french_2.3.0.45.exe' -ARCHIVE_GOG_FR_URL='https://www.gog.com/game/heroes_of_might_and_magic' -ARCHIVE_GOG_FR_MD5='9ec736a2a1b97dc36257f583f42864ac' -ARCHIVE_GOG_FR_SIZE='530000' -ARCHIVE_GOG_FR_VERSION='1.0-gog2.3.0.45' - -ARCHIVE_DOC_DATA_PATH='app' -ARCHIVE_DOC_DATA_FILES='./help ./*.pdf ./*.txt' - -ARCHIVE_GAME0_BIN_PATH='app' -ARCHIVE_GAME0_BIN_FILES='./*.exe ./*.cfg ./wail32.dll' - -ARCHIVE_GAME1_BIN_PATH='sys' -ARCHIVE_GAME1_BIN_FILES='./wing32.dll' - -ARCHIVE_GAME_L10N_PATH='app' -ARCHIVE_GAME_L10N_FILES='./data/campaign.hs ./data/heroes.agg ./data/standard.hs ./games ./maps' - -ARCHIVE_GAME_DATA_PATH='app' -ARCHIVE_GAME_DATA_FILES='./data ./goggame-1207658748.ico ./homm1.gog' +ARCHIVES_LIST=' +ARCHIVE_GOG_EN_1 +ARCHIVE_GOG_FR_1 +ARCHIVE_GOG_EN_0 +ARCHIVE_GOG_FR_0' + +ARCHIVE_GOG_EN_1='setup_heroes_of_might_and_magic_1.2_(1.1)_(33754).exe' +ARCHIVE_GOG_EN_1_MD5='f3100c6547ef1bb82af6dd6fec66bcbf' +ARCHIVE_GOG_EN_1_URL='https://www.gog.com/game/heroes_of_might_and_magic' +ARCHIVE_GOG_EN_1_SIZE='630000' +ARCHIVE_GOG_EN_1_VERSION='1.2-gog33754' + +ARCHIVE_GOG_FR_1='setup_heroes_of_might_and_magic_1.2_(1.1)_(french)_(33754).exe' +ARCHIVE_GOG_FR_1_MD5='ed647dbfc98cd59dba885dc4fd005a62' +ARCHIVE_GOG_FR_1_URL='https://www.gog.com/game/heroes_of_might_and_magic' +ARCHIVE_GOG_FR_1_SIZE='630000' +ARCHIVE_GOG_FR_1_VERSION='1.2-gog33754' + +ARCHIVE_GOG_EN_0='setup_heroes_of_might_and_magic_2.3.0.45.exe' +ARCHIVE_GOG_EN_0_MD5='2cae1821085090e30e128cd0a76b0d21' +ARCHIVE_GOG_EN_0_SIZE='530000' +ARCHIVE_GOG_EN_0_VERSION='1.0-gog2.3.0.45' + +ARCHIVE_GOG_FR_0='setup_heroes_of_might_and_magic_french_2.3.0.45.exe' +ARCHIVE_GOG_FR_0_MD5='9ec736a2a1b97dc36257f583f42864ac' +ARCHIVE_GOG_FR_0_SIZE='530000' +ARCHIVE_GOG_FR_0_VERSION='1.0-gog2.3.0.45' + +ARCHIVE_DOC_COMMON_PATH='.' +ARCHIVE_DOC_COMMON_FILES='help *.pdf *.txt' +# Keep compatibility with old archives +ARCHIVE_DOC_COMMON_PATH_GOG_EN_0='app' +ARCHIVE_DOC_COMMON_PATH_GOG_FR_0='app' + +ARCHIVE_GAME_MAIN_PATH='.' +ARCHIVE_GAME_MAIN_FILES='*.exe *.cfg wail32.dll wing.32 data/campaign.hs data/heroes.agg data/standard.hs games maps/*.map' +# Keep compatibility with old archives +ARCHIVE_GAME_MAIN_PATH_GOG_EN_0='app' +ARCHIVE_GAME_MAIN_PATH_GOG_FR_0='app' + +# Keep compatibility with old archives +ARCHIVE_GAME0_MAIN_PATH='sys' +ARCHIVE_GAME0_MAIN_FILES='wing32.dll' + +ARCHIVE_GAME_COMMON_PATH='.' +ARCHIVE_GAME_COMMON_FILES='data maps/*.cmp homm1.gog' +# Keep compatibility with old archives +ARCHIVE_GAME_COMMON_PATH_GOG_EN_0='app' +ARCHIVE_GAME_COMMON_PATH_GOG_FR_0='app' GAME_IMAGE='./homm1.gog' GAME_IMAGE_TYPE='iso' -CONFIG_FILES='./*.cfg' +CONFIG_FILES='*.cfg' DATA_DIRS='./games ./maps' APP_MAIN_TYPE='dosbox' APP_MAIN_EXE='heroes.exe' -APP_MAIN_ICON='goggame-1207658748.ico' +APP_MAIN_ICON='app/goggame-1207658748.ico' APP_EDITOR_ID="${GAME_ID}-editor" APP_EDITOR_NAME="$GAME_NAME - editor" APP_EDITOR_TYPE='dosbox' APP_EDITOR_EXE='editor.exe' +APP_EDITOR_ICON='app/goggame-1207658748.ico' -PACKAGES_LIST='PKG_BIN PKG_L10N PKG_DATA' +PACKAGES_LIST='PKG_MAIN PKG_COMMON' -PKG_DATA_ID="$GAME_ID-data" -PKG_DATA_DESCRIPTION='data' +PKG_COMMON_ID="${GAME_ID}-commmon" -PKG_L10N_ID="$GAME_ID-l10n" -PKG_L10N_ID_GOG_EN="${PKG_L10N_ID}-en" -PKG_L10N_ID_GOG_FR="${PKG_L10N_ID}-fr" -PKG_L10N_PROVIDE="$PKG_L10N_ID" -PKG_L10N_DESCRIPTION_GOG_FR='French localization' -PKG_L10N_DESCRIPTION_GOG_EN='English localization' - -PKG_BIN_ID="$GAME_ID" -PKG_BIN_ID_GOG_EN="${PKG_BIN_ID}-en" -PKG_BIN_ID_GOG_FR="${PKG_BIN_ID}-fr" -PKG_BIN_PROVIDE="$PKG_BIN_ID" -PKG_BIN_DEPS_GOG_FR="$PKG_L10N_FR_ID $PKG_DATA dosbox" -PKG_BIN_DEPS_GOG_EN="$PKG_L10N_EN_ID $PKG_DATA dosbox" -PKG_BIN_DESCRIPTION_GOG_FR='French version' -PKG_BIN_DESCRIPTION_GOG_EN='English version' +# Main package — common properties +PKG_MAIN_ID="$GAME_ID" +PKG_MAIN_PROVIDE="$PKG_MAIN_ID" +PKG_MAIN_DEPS="$PKG_COMMON_ID dosbox" +# Main package — English version +PKG_MAIN_ID_GOG_EN="${PKG_MAIN_ID}-en" +PKG_MAIN_DESCRIPTION_GOG_EN='English version' +# Main package — French version +PKG_MAIN_ID_GOG_FR="${PKG_MAIN_ID}-fr" +PKG_MAIN_DESCRIPTION_GOG_FR='French version' # Load common functions -target_version='2.8' +target_version='2.11' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" + : "${XDG_DATA_HOME:="$HOME/.local/share"}" for path in\ - './'\ - "$XDG_DATA_HOME/play.it/"\ - "$XDG_DATA_HOME/play.it/play.it-2/lib/"\ - '/usr/local/share/games/play.it/'\ - '/usr/local/share/play.it/'\ - '/usr/share/games/play.it/'\ - '/usr/share/play.it/' + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' do - if [ -z "$PLAYIT_LIB2" ] && [ -e "$path/libplayit2.sh" ]; then + if [ -e "$path/libplayit2.sh" ]; then PLAYIT_LIB2="$path/libplayit2.sh" break fi done - if [ -z "$PLAYIT_LIB2" ]; then - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi fi -#shellcheck source=play.it-2/lib/libplayit2.sh +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" -# Set archive specific variables - -case "$ARCHIVE" in - ('ARCHIVE_GOG_EN') - PKG_BIN_DEPS="$PKG_BIN_DEPS_GOG_EN" - ;; - ('ARCHIVE_GOG_FR') - PKG_BIN_DEPS="$PKG_BIN_DEPS_GOG_FR" - ;; -esac - # Extract game data extract_data_from "$SOURCE_ARCHIVE" prepare_package_layout -rm --recursive "$PLAYIT_WORKDIR/gamedata" # Extract icons -PKG='PKG_DATA' -icons_get_from_package 'APP_MAIN' -rm "${PKG_DATA_PATH}${PATH_GAME}/$APP_MAIN_ICON" +PKG='PKG_MAIN' +icons_get_from_workdir 'APP_MAIN' 'APP_EDITOR' -# Write launchers +# Clean up temporary files -PKG='PKG_BIN' -write_launcher 'APP_MAIN' 'APP_EDITOR' +rm --recursive "$PLAYIT_WORKDIR/gamedata" -# Use base game icon for editor launcher +# Write launchers -file="${PKG_BIN_PATH}${PATH_DESK}/$APP_EDITOR_ID.desktop" -pattern="s/\\(Icon\\)=.*/\\1=$GAME_ID/" -sed --in-place "$pattern" "$file" +PKG='PKG_MAIN' +launchers_write 'APP_MAIN' 'APP_EDITOR' # Build packages diff -Nru play.it-2.12.0/play.it-2/games/play-heroes-of-might-and-magic-2.sh play.it-2.12.1/play.it-2/games/play-heroes-of-might-and-magic-2.sh --- play.it-2.12.0/play.it-2/games/play-heroes-of-might-and-magic-2.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-heroes-of-might-and-magic-2.sh 2020-11-25 15:14:43.000000000 +0000 @@ -1,4 +1,4 @@ -#!/bin/sh -e +#!/bin/sh set -o errexit ### @@ -30,50 +30,92 @@ ### # Heroes of Might and Magic 2 -# build native Linux packages from the original installers -# send your bug reports to vv221@dotslashplay.it +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it ### -script_version=20180815.1 +script_version=20200715.3 # Set game-specific variables GAME_ID='heroes-of-might-and-magic-2' -GAME_NAME='Heroes of Might and Magic II: The Price of Loyalty' +GAME_NAME='Heroes of Might and Magic Ⅱ: The Price of Loyalty' -ARCHIVES_LIST='ARCHIVE_GOG_EN ARCHIVE_GOG_FR' +ARCHIVES_LIST=' +ARCHIVE_GOG_EN_2 +ARCHIVE_GOG_FR_2 +ARCHIVE_GOG_EN_1 +ARCHIVE_GOG_FR_1 +ARCHIVE_GOG_EN_0 +ARCHIVE_GOG_FR_0' + +ARCHIVE_GOG_EN_2='setup_heroes_of_might_and_magic_2_gold_1.01_(2.1)_(33438).exe' +ARCHIVE_GOG_EN_2_MD5='ff7738a587f10a16116743fe26267f65' +ARCHIVE_GOG_EN_2_URL='https://www.gog.com/game/heroes_of_might_and_magic_2_gold_edition' +ARCHIVE_GOG_EN_2_SIZE='590000' +ARCHIVE_GOG_EN_2_VERSION='2.1-gog33438' + +ARCHIVE_GOG_FR_2='setup_heroes_of_might_and_magic_2_gold_1.01_(2.1)_(french)_(33438).exe' +ARCHIVE_GOG_FR_2_MD5='b4613fc6b238c83d37247851d5e5a27e' +ARCHIVE_GOG_FR_2_URL='https://www.gog.com/game/heroes_of_might_and_magic_2_gold_edition' +ARCHIVE_GOG_FR_2_SIZE='510000' +ARCHIVE_GOG_FR_2_VERSION='2.1-gog33438' + +ARCHIVE_GOG_EN_1='setup_heroes_of_might_and_magic_2_gold_1.0_hotfix_(29821).exe' +ARCHIVE_GOG_EN_1_MD5='2dc1cb74c1e8de734fa97fc3d2484212' +ARCHIVE_GOG_EN_1_SIZE='480000' +ARCHIVE_GOG_EN_1_VERSION='2.1-gog29821' + +ARCHIVE_GOG_FR_1='setup_heroes_of_might_and_magic_2_gold_1.0_hotfix_(french)_(29821).exe' +ARCHIVE_GOG_FR_1_MD5='1b43a2ce13128d77e8f2e40e72635af1' +ARCHIVE_GOG_FR_1_SIZE='410000' +ARCHIVE_GOG_FR_1_VERSION='2.1-gog29821' + +ARCHIVE_GOG_EN_0='setup_homm2_gold_2.1.0.29.exe' +ARCHIVE_GOG_EN_0_MD5='b6785579d75e47936517a79374b17ebc' +ARCHIVE_GOG_EN_0_SIZE='480000' +ARCHIVE_GOG_EN_0_VERSION='2.1-gog2.1.0.29' + +ARCHIVE_GOG_FR_0='setup_homm2_gold_french_2.1.0.29.exe' +ARCHIVE_GOG_FR_0_MD5='c49d8f5d0f6d56e54cf6f9c7a526750f' +ARCHIVE_GOG_FR_0_SIZE='410000' +ARCHIVE_GOG_FR_0_VERSION='2.1-gog2.1.0.29' + +ARCHIVE_DOC_MAIN_PATH='.' +ARCHIVE_DOC_MAIN_FILES='readme.txt' +# Keep compatibility with old archives +ARCHIVE_DOC_MAIN_PATH_GOG_EN_0='app' +ARCHIVE_DOC_MAIN_PATH_GOG_FR_0='app' + +ARCHIVE_DOC_COMMON_PATH='.' +ARCHIVE_DOC_COMMON_FILES='eula help *.pdf h2camp.txt polcamp.txt' +# Keep compatibility with old archives +ARCHIVE_DOC_COMMON_PATH_GOG_EN_0='app' +ARCHIVE_DOC_COMMON_PATH_GOG_FR_0='app' + +ARCHIVE_GAME_MAIN_PATH='.' +ARCHIVE_GAME_MAIN_FILES='*.exe *.cfg wing.32 homm2.gog homm2.ins homm2.inst games maps data/*.agg' +# Keep compatibility with old archives +ARCHIVE_GAME_MAIN_PATH_GOG_EN_0='app' +ARCHIVE_GAME_MAIN_PATH_GOG_FR_0='app' + +# Keep compatibility with old archives +ARCHIVE_GAME0_MAIN_PATH='sys' +ARCHIVE_GAME0_MAIN_FILES='wing32.dll' + +ARCHIVE_GAME_COMMON_PATH='.' +ARCHIVE_GAME_COMMON_FILES='journals music sound data/*.dat data/*.hs data/*.smk' +# Keep compatibility with old archives +ARCHIVE_GAME_COMMON_PATH_GOG_EN_0='app' +ARCHIVE_GAME_COMMON_PATH_GOG_FR_0='app' -ARCHIVE_GOG_EN='setup_homm2_gold_2.1.0.29.exe' -ARCHIVE_GOG_EN_URL='https://www.gog.com/game/heroes_of_might_and_magic_2_gold_edition' -ARCHIVE_GOG_EN_MD5='b6785579d75e47936517a79374b17ebc' -ARCHIVE_GOG_EN_SIZE='480000' -ARCHIVE_GOG_EN_VERSION='2.1-gog2.1.0.29' - -ARCHIVE_GOG_FR='setup_homm2_gold_french_2.1.0.29.exe' -ARCHIVE_GOG_FR_URL='https://www.gog.com/game/heroes_of_might_and_magic_2_gold_edition' -ARCHIVE_GOG_FR_MD5='c49d8f5d0f6d56e54cf6f9c7a526750f' -ARCHIVE_GOG_FR_SIZE='410000' -ARCHIVE_GOG_FR_VERSION='2.1-gog2.1.0.29' - -ARCHIVE_DOC_DATA_PATH='app' -ARCHIVE_DOC_DATA_FILES='./eula ./help ./*.pdf ./*.txt' - -ARCHIVE_GAME0_BIN_PATH='app' -ARCHIVE_GAME0_BIN_FILES='./*.exe ./*.cfg' - -ARCHIVE_GAME1_BIN_PATH='sys' -ARCHIVE_GAME1_BIN_FILES='./wing32.dll' - -ARCHIVE_GAME_MUSIC_PATH='app' -ARCHIVE_GAME_MUSIC_FILES='./music' - -ARCHIVE_GAME_DATA_PATH='app' -ARCHIVE_GAME_DATA_FILES='./homm2.gog ./homm2.inst ./data ./games ./journals ./maps ./sound' - -GAME_IMAGE='./homm2.inst' +GAME_IMAGE='homm2.ins' GAME_IMAGE_TYPE='cdrom' +# Keep compatibility with old archives +GAME_IMAGE_GOG_EN_0='homm2.inst' +GAME_IMAGE_GOG_FR_0='homm2.inst' -CONFIG_FILES='./*.cfg ./data/standard.hs' +CONFIG_FILES='*.cfg data/standard.hs' DATA_DIRS='./games ./maps' APP_MAIN_TYPE='dosbox' @@ -86,54 +128,48 @@ APP_EDITOR_EXE='editor2.exe' APP_EDITOR_ICON='app/goggame-1207658785.ico' -PACKAGES_LIST='PKG_BIN PKG_MUSIC PKG_DATA' +PACKAGES_LIST='PKG_MAIN PKG_COMMON' -PKG_MUSIC_ID="$GAME_ID-music" -PKG_MUSIC_DESCRIPTION='music' +PKG_COMMON_ID="$GAME_ID-common" +PKG_COMMON_DESCRIPTION='common data' -PKG_DATA_ID="$GAME_ID-data" -PKG_DATA_ID_GOG_EN="${PKG_DATA_ID}-en" -PKG_DATA_ID_GOG_FR="${PKG_DATA_ID}-fr" -PKG_DATA_PROVIDE="$PKG_DATA_ID" -PKG_DATA_DESCRIPTION_GOG_EN='data - English version' -PKG_DATA_DESCRIPTION_GOG_FR='data - French version' - -PKG_BIN_ID="$GAME_ID" -PKG_BIN_ID_GOG_EN="${PKG_BIN_ID}-en" -PKG_BIN_ID_GOG_FR="${PKG_BIN_ID}-fr" -PKG_BIN_PROVIDE="$PKG_BIN_ID" -PKG_BIN_DEPS_GOG_EN="$PKG_MUSIC_ID $PKG_DATA_ID_GOG_EN dosbox" -PKG_BIN_DEPS_GOG_FR="$PKG_MUSIC_ID $PKG_DATA_ID_GOG_FR dosbox" -PKG_BIN_DESCRIPTION_GOG_FR='French version' -PKG_BIN_DESCRIPTION_GOG_EN='English version' +# Main package — common properties +PKG_MAIN_ID="$GAME_ID" +PKG_MAIN_PROVIDE="$PKG_MAIN_ID" +PKG_MAIN_DEPS="$PKG_COMMON_ID dosbox" +# Main package — English version +PKG_MAIN_ID_GOG_EN="${PKG_MAIN_ID}-en" +PKG_MAIN_DESCRIPTION_GOG_EN='English version' +# Main package — French version +PKG_MAIN_ID_GOG_FR="${PKG_MAIN_ID}-fr" +PKG_MAIN_DESCRIPTION_GOG_FR='French version' # Load common functions -target_version='2.10' +target_version='2.11' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" + : "${XDG_DATA_HOME:="$HOME/.local/share"}" for path in\ - './'\ - "$XDG_DATA_HOME/play.it/"\ - "$XDG_DATA_HOME/play.it/play.it-2/lib/"\ - '/usr/local/share/games/play.it/'\ - '/usr/local/share/play.it/'\ - '/usr/share/games/play.it/'\ - '/usr/share/play.it/' + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' do - if [ -z "$PLAYIT_LIB2" ] && [ -e "$path/libplayit2.sh" ]; then + if [ -e "$path/libplayit2.sh" ]; then PLAYIT_LIB2="$path/libplayit2.sh" break fi done - if [ -z "$PLAYIT_LIB2" ]; then - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi fi -#shellcheck source=play.it-2/lib/libplayit2.sh +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" # Extract game data @@ -143,18 +179,24 @@ # Extract icons -PKG='PKG_DATA' +PKG='PKG_COMMON' icons_get_from_workdir 'APP_MAIN' 'APP_EDITOR' + +# Clean up temporary files + rm --recursive "$PLAYIT_WORKDIR/gamedata" +# Use correct value for CD image + +use_archive_specific_value 'GAME_IMAGE' + # Write launchers -PKG='PKG_BIN' -write_launcher 'APP_MAIN' 'APP_EDITOR' +PKG='PKG_MAIN' +launchers_write 'APP_MAIN' 'APP_EDITOR' # Build packages -use_archive_specific_value 'PKG_BIN_DEPS' write_metadata build_pkg diff -Nru play.it-2.12.0/play.it-2/games/play-heroes-of-might-and-magic-4.sh play.it-2.12.1/play.it-2/games/play-heroes-of-might-and-magic-4.sh --- play.it-2.12.0/play.it-2/games/play-heroes-of-might-and-magic-4.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-heroes-of-might-and-magic-4.sh 2020-11-25 15:14:43.000000000 +0000 @@ -1,4 +1,4 @@ -#!/bin/sh -e +#!/bin/sh set -o errexit ### @@ -29,72 +29,96 @@ ### ### -# Heroes of Might and Magic IV -# build native Linux packages from the original installers -# send your bug reports to vv221@dotslashplay.it +# Heroes of Might and Magic Ⅳ +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it ### -script_version=20180819.4 +script_version=20200716.1 # Set game-specific variables GAME_ID='heroes-of-might-and-magic-4' -GAME_NAME='Heroes of Might and Magic IV' +GAME_NAME='Heroes of Might and Magic Ⅳ' -ARCHIVES_LIST='ARCHIVE_GOG_EN ARCHIVE_GOG_FR ARCHIVE_GOG_EN_OLD0 ARCHIVE_GOG_FR_OLD0' - -ARCHIVE_GOG_EN='setup_heroes_of_might_and_magic_4_complete_3.0_(22812).exe' -ARCHIVE_GOG_EN_URL='https://www.gog.com/game/heroes_of_might_and_magic_4_complete' -ARCHIVE_GOG_EN_MD5='d5e0a55e2bba4f0ac643ec1fb2ba17cc' -ARCHIVE_GOG_EN_TYPE='innosetup1.7' -ARCHIVE_GOG_EN_VERSION='3.0-gog22812' -ARCHIVE_GOG_EN_SIZE='1100000' -ARCHIVE_GOG_EN_PART1='setup_heroes_of_might_and_magic_4_complete_3.0_(22812)-1.bin' -ARCHIVE_GOG_EN_PART1_MD5='3457ead5c208a3d40498d6e1f08bf588' -ARCHIVE_GOG_EN_PART1_TYPE='innosetup1.7' - -ARCHIVE_GOG_FR='setup_heroes_of_might_and_magic_4_complete_3.0_(french)_(22812).exe' -ARCHIVE_GOG_FR_URL='https://www.gog.com/game/heroes_of_might_and_magic_4_complete' -ARCHIVE_GOG_FR_MD5='e15ec7a308ea442bfeeb3410314b39d7' -ARCHIVE_GOG_FR_TYPE='innosetup1.7' -ARCHIVE_GOG_FR_VERSION='3.0-gog22812' -ARCHIVE_GOG_FR_SIZE='1100000' -ARCHIVE_GOG_FR_PART1='setup_heroes_of_might_and_magic_4_complete_3.0_(french)_(22812)-1.bin' -ARCHIVE_GOG_FR_PART1_MD5='7abff7182f6bed3199d2b71cdd60d926' -ARCHIVE_GOG_FR_PART1_TYPE='innosetup1.7' - -ARCHIVE_GOG_EN_OLD0='setup_homm4_complete_2.0.0.12.exe' -ARCHIVE_GOG_EN_OLD0_MD5='74de66eb408bb2916dd0227781ba96dc' -ARCHIVE_GOG_EN_OLD0_VERSION='3.0-gog2.0.0.12' -ARCHIVE_GOG_EN_OLD0_SIZE='1100000' - -ARCHIVE_GOG_FR_OLD0='setup_homm4_complete_french_2.1.0.14.exe' -ARCHIVE_GOG_FR_OLD0_MD5='2af96eb28226e563bbbcd62771f3a319' -ARCHIVE_GOG_FR_OLD0_VERSION='3.0-gog2.1.0.14' -ARCHIVE_GOG_FR_OLD0_SIZE='1100000' +ARCHIVES_LIST=' +ARCHIVE_GOG_EN_2 +ARCHIVE_GOG_FR_2 +ARCHIVE_GOG_EN_1 +ARCHIVE_GOG_FR_1 +ARCHIVE_GOG_EN_0 +ARCHIVE_GOG_FR_0' + +ARCHIVE_GOG_EN_2='setup_heroes_of_might_and_magic_4_complete_3.0_(25023).exe' +ARCHIVE_GOG_EN_2_MD5='2694dfef6827142866fb778588966d8e' +ARCHIVE_GOG_EN_2_TYPE='innosetup' +ARCHIVE_GOG_EN_2_URL='https://www.gog.com/game/heroes_of_might_and_magic_4_complete' +ARCHIVE_GOG_EN_2_VERSION='3.0-gog25023' +ARCHIVE_GOG_EN_2_SIZE='1100000' +ARCHIVE_GOG_EN_2_PART1='setup_heroes_of_might_and_magic_4_complete_3.0_(25023)-1.bin' +ARCHIVE_GOG_EN_2_PART1_MD5='54bfa42a4e23236729f8b0724216ee83' +ARCHIVE_GOG_EN_2_PART1_TYPE='innosetup' + +ARCHIVE_GOG_FR_2='setup_heroes_of_might_and_magic_4_complete_3.0_(french)_(25023).exe' +ARCHIVE_GOG_FR_2_MD5='4a90a92d637bc7d1af5354565ae5cd70' +ARCHIVE_GOG_FR_2_TYPE='innosetup' +ARCHIVE_GOG_FR_2_URL='https://www.gog.com/game/heroes_of_might_and_magic_4_complete' +ARCHIVE_GOG_FR_2_VERSION='3.0-gog25023' +ARCHIVE_GOG_FR_2_SIZE='1100000' +ARCHIVE_GOG_FR_2_PART1='setup_heroes_of_might_and_magic_4_complete_3.0_(french)_(25023)-1.bin' +ARCHIVE_GOG_FR_2_PART1_MD5='46d1239b8491d3adec647a7526f763b2' +ARCHIVE_GOG_FR_2_PART1_TYPE='innosetup' + +ARCHIVE_GOG_EN_1='setup_heroes_of_might_and_magic_4_complete_3.0_(22812).exe' +ARCHIVE_GOG_EN_1_MD5='d5e0a55e2bba4f0ac643ec1fb2ba17cc' +ARCHIVE_GOG_EN_1_TYPE='innosetup1.7' +ARCHIVE_GOG_EN_1_VERSION='3.0-gog22812' +ARCHIVE_GOG_EN_1_SIZE='1100000' +ARCHIVE_GOG_EN_1_PART1='setup_heroes_of_might_and_magic_4_complete_3.0_(22812)-1.bin' +ARCHIVE_GOG_EN_1_PART1_MD5='3457ead5c208a3d40498d6e1f08bf588' +ARCHIVE_GOG_EN_1_PART1_TYPE='innosetup1.7' + +ARCHIVE_GOG_FR_1='setup_heroes_of_might_and_magic_4_complete_3.0_(french)_(22812).exe' +ARCHIVE_GOG_FR_1_MD5='e15ec7a308ea442bfeeb3410314b39d7' +ARCHIVE_GOG_FR_1_TYPE='innosetup1.7' +ARCHIVE_GOG_FR_1_VERSION='3.0-gog22812' +ARCHIVE_GOG_FR_1_SIZE='1100000' +ARCHIVE_GOG_FR_1_PART1='setup_heroes_of_might_and_magic_4_complete_3.0_(french)_(22812)-1.bin' +ARCHIVE_GOG_FR_1_PART1_MD5='7abff7182f6bed3199d2b71cdd60d926' +ARCHIVE_GOG_FR_1_PART1_TYPE='innosetup1.7' + +ARCHIVE_GOG_EN_0='setup_homm4_complete_2.0.0.12.exe' +ARCHIVE_GOG_EN_0_MD5='74de66eb408bb2916dd0227781ba96dc' +ARCHIVE_GOG_EN_0_VERSION='3.0-gog2.0.0.12' +ARCHIVE_GOG_EN_0_SIZE='1100000' + +ARCHIVE_GOG_FR_0='setup_homm4_complete_french_2.1.0.14.exe' +ARCHIVE_GOG_FR_0_MD5='2af96eb28226e563bbbcd62771f3a319' +ARCHIVE_GOG_FR_0_VERSION='3.0-gog2.1.0.14' +ARCHIVE_GOG_FR_0_SIZE='1100000' ARCHIVE_DOC_DATA_PATH='.' -ARCHIVE_DOC_DATA_FILES='./*.chm ./*.pdf ./*.txt' +ARCHIVE_DOC_DATA_FILES='*.chm *.pdf *.txt' # Keep compatibility with old archives -ARCHIVE_DOC_DATA_PATH_GOG_EN_OLD0='app' -ARCHIVE_DOC_DATA_PATH_GOG_FR_OLD0='app' +ARCHIVE_DOC_DATA_PATH_GOG_EN_0='app' +ARCHIVE_DOC_DATA_PATH_GOG_FR_0='app' ARCHIVE_GAME_BIN_PATH='.' -ARCHIVE_GAME_BIN_FILES='./*.exe ./binkw32.dll ./drvmgt.dll ./mss32.dll ./mp3dec.asi data/*.dll' +ARCHIVE_GAME_BIN_FILES='*.exe binkw32.dll drvmgt.dll mss32.dll mp3dec.asi data/*.dll' # Keep compatibility with old archives -ARCHIVE_GAME_BIN_PATH_GOG_EN_OLD0='app' -ARCHIVE_GAME_BIN_PATH_GOG_FR_OLD0='app' +ARCHIVE_GAME_BIN_PATH_GOG_EN_0='app' +ARCHIVE_GAME_BIN_PATH_GOG_FR_0='app' ARCHIVE_GAME_DATA_PATH='.' -ARCHIVE_GAME_DATA_FILES='./data ./maps' +ARCHIVE_GAME_DATA_FILES='data maps' # Keep compatibility with old archives -ARCHIVE_GAME_DATA_PATH_GOG_EN_OLD0='app' -ARCHIVE_GAME_DATA_PATH_GOG_FR_OLD0='app' +ARCHIVE_GAME_DATA_PATH_GOG_EN_0='app' +ARCHIVE_GAME_DATA_PATH_GOG_FR_0='app' DATA_DIRS='./games' -DATA_FILES='./data/high_scores.dat ./*.log' +DATA_FILES='data/high_scores.dat *.log' -APP_WINETRICKS="vd=\$(xrandr|grep '\\*'|awk '{print \$1}')" +APP_WINETRICKS="vd=\$(xrandr | awk '/\\*/ {print \$1}')" APP_MAIN_TYPE='wine' APP_MAIN_EXE='heroes4.exe' @@ -108,55 +132,61 @@ PACKAGES_LIST='PKG_BIN PKG_DATA' +# Arch-independent data — common properties PKG_DATA_ID="${GAME_ID}-data" -PKG_DATA_ID_GOG_EN="${PKG_DATA_ID}-en" -PKG_DATA_ID_GOG_FR="${PKG_DATA_ID}-fr" PKG_DATA_PROVIDE="$PKG_DATA_ID" PKG_DATA_DESCRIPTION='data' +# Arch-independent data — English version +PKG_DATA_ID_GOG_EN="${PKG_DATA_ID}-en" +PKG_DATA_DESCRIPTION_GOG_EN="${PKG_DATA_DESCRIPTION} - English version" +# Arch-independent data — French version +PKG_DATA_ID_GOG_FR="${PKG_DATA_ID}-fr" +PKG_DATA_DESCRIPTION_GOG_FR="${PKG_DATA_DESCRIPTION} - French version" +# Binaries — common properties PKG_BIN_ARCH='32' PKG_BIN_ID="$GAME_ID" +PKG_BIN_PROVIDE="$PKG_BIN_ID" +PKG_BIN_DEPS="$PKG_DATA_ID wine winetricks xrandr" +# Binaries — English version PKG_BIN_ID_GOG_EN="${PKG_BIN_ID}-en" +PKG_BIN_DESCRIPTION_GOG_EN='English version' +# Binaries — French version PKG_BIN_ID_GOG_FR="${PKG_BIN_ID}-fr" -PKG_BIN_PROVIDE="$PKG_BIN_ID" -PKG_BIN_DEPS='winetricks wine xrandr' -PKG_BIN_DEPS_GOG_EN="$PKG_DATA_ID_GOG_EN $PKG_BIN_DEPS" -PKG_BIN_DEPS_GOG_FR="$PKG_DATA_ID_GOG_FR $PKG_BIN_DEPS" +PKG_BIN_DESCRIPTION_GOG_FR='French version' # Load common functions -target_version='2.10' +target_version='2.11' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" + : "${XDG_DATA_HOME:="$HOME/.local/share"}" for path in\ - './'\ - "$XDG_DATA_HOME/play.it/"\ - "$XDG_DATA_HOME/play.it/play.it-2/lib/"\ - '/usr/local/share/games/play.it/'\ - '/usr/local/share/play.it/'\ - '/usr/share/games/play.it/'\ - '/usr/share/play.it/' + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' do - if [ -z "$PLAYIT_LIB2" ] && [ -e "$path/libplayit2.sh" ]; then + if [ -e "$path/libplayit2.sh" ]; then PLAYIT_LIB2="$path/libplayit2.sh" break fi done - if [ -z "$PLAYIT_LIB2" ]; then - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi fi -#shellcheck source=play.it-2/lib/libplayit2.sh +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" # Extract game data extract_data_from "$SOURCE_ARCHIVE" prepare_package_layout -rm --recursive "$PLAYIT_WORKDIR/gamedata" # Extract game icons @@ -164,14 +194,17 @@ icons_get_from_package 'APP_MAIN' 'APP_EDITOR' icons_move_to 'PKG_DATA' +# Clean up temporary files + +rm --recursive "$PLAYIT_WORKDIR/gamedata" + # Write launchers PKG='PKG_BIN' -write_launcher 'APP_MAIN' 'APP_EDITOR' +launchers_write 'APP_MAIN' 'APP_EDITOR' # Build package -use_archive_specific_value 'PKG_BIN_DEPS' write_metadata build_pkg diff -Nru play.it-2.12.0/play.it-2/games/play-heroes-of-might-and-magic-5-tribes-of-the-east.sh play.it-2.12.1/play.it-2/games/play-heroes-of-might-and-magic-5-tribes-of-the-east.sh --- play.it-2.12.0/play.it-2/games/play-heroes-of-might-and-magic-5-tribes-of-the-east.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-heroes-of-might-and-magic-5-tribes-of-the-east.sh 2020-11-25 15:14:43.000000000 +0000 @@ -1,4 +1,4 @@ -#!/bin/sh -e +#!/bin/sh set -o errexit ### @@ -29,140 +29,263 @@ ### ### -# Heroes of Might and Magic V - Tribes of the East -# build native Linux packages from the original installers -# send your bug reports to vv221@dotslashplay.it +# Heroes of Might and Magic Ⅴ - Tribes of the East +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it ### -script_version=20180224.1 +script_version=20200716.4 # Set game-specific variables GAME_ID='heroes-of-might-and-magic-5-tribes-of-the-east' -GAME_NAME='Heroes of Might and Magic V - Tribes of the East' +GAME_NAME='Heroes of Might and Magic Ⅴ - Tribes of the East' -ARCHIVES_LIST='ARCHIVE_GOG_EN ARCHIVE_GOG_FR' +ARCHIVES_LIST=' +ARCHIVE_GOG_EN_1 +ARCHIVE_GOG_FR_1 +ARCHIVE_GOG_EN_0 +ARCHIVE_GOG_FR_0 +ARCHIVE_GOG_RAR_EN_0 +ARCHIVE_GOG_RAR_FR_0' + +ARCHIVE_GOG_EN_1='setup_heroes_of_might_and_magic_v_-_tribes_of_the_east_3.1_v2_(28569).exe' +ARCHIVE_GOG_EN_1_MD5='9593ad538a39638bacb4d7ef45368ce2' +ARCHIVE_GOG_EN_1_TYPE='innosetup' +ARCHIVE_GOG_EN_1_URL='https://www.gog.com/game/heroes_of_might_and_magic_5_bundle' +ARCHIVE_GOG_EN_1_SIZE='2300000' +ARCHIVE_GOG_EN_1_VERSION='3.1-gog28569' +ARCHIVE_GOG_EN_1_PART1='setup_heroes_of_might_and_magic_v_-_tribes_of_the_east_3.1_v2_(28569)-1.bin' +ARCHIVE_GOG_EN_1_PART1_MD5='8e03271dc4aff5834110664b5d6eefde' +ARCHIVE_GOG_EN_1_PART1_TYPE='innosetup' + +ARCHIVE_GOG_FR_1='setup_heroes_of_might_and_magic_v_-_tribes_of_the_east_3.1_v2_(french)_(28569).exe' +ARCHIVE_GOG_FR_1_MD5='6a1a915180d1cee32e78419f6917be87' +ARCHIVE_GOG_FR_1_TYPE='innosetup' +ARCHIVE_GOG_FR_1_URL='https://www.gog.com/game/heroes_of_might_and_magic_5_bundle' +ARCHIVE_GOG_FR_1_SIZE='2300000' +ARCHIVE_GOG_FR_1_VERSION='3.1-gog28569' +ARCHIVE_GOG_FR_1_PART1='setup_heroes_of_might_and_magic_v_-_tribes_of_the_east_3.1_v2_(french)_(28569)-1.bin' +ARCHIVE_GOG_FR_1_PART1_MD5='f48ed6725126696bf3e67ce327db6263' +ARCHIVE_GOG_FR_1_PART1_TYPE='innosetup' + +ARCHIVE_GOG_EN_0='setup_heroes_of_might_and_magic_v_-_tribes_of_the_east_3.1_(25025).exe' +ARCHIVE_GOG_EN_0_MD5='3096f296d5d8b6cb0b4ab479fc06474b' +ARCHIVE_GOG_EN_0_TYPE='innosetup' +ARCHIVE_GOG_EN_0_SIZE='2300000' +ARCHIVE_GOG_EN_0_VERSION='3.1-gog25025' +ARCHIVE_GOG_EN_0_PART1='setup_heroes_of_might_and_magic_v_-_tribes_of_the_east_3.1_(25025)-1.bin' +ARCHIVE_GOG_EN_0_PART1_MD5='5f4840b0105bd6b4228ff9b707bc0434' +ARCHIVE_GOG_EN_0_PART1_TYPE='innosetup' + +ARCHIVE_GOG_FR_0='setup_heroes_of_might_and_magic_v_-_tribes_of_the_east_3.1_(french)_(25025).exe' +ARCHIVE_GOG_FR_0_MD5='a2b5d18f34d3fa1a760de4fa63aa3819' +ARCHIVE_GOG_FR_0_TYPE='innosetup' +ARCHIVE_GOG_FR_0_SIZE='2300000' +ARCHIVE_GOG_FR_0_VERSION='3.1-gog25025' +ARCHIVE_GOG_FR_0_PART1='setup_heroes_of_might_and_magic_v_-_tribes_of_the_east_3.1_(french)_(25025)-1.bin' +ARCHIVE_GOG_FR_0_PART1_MD5='08a5ec9aaf674235db4d96072bf373fc' +ARCHIVE_GOG_FR_0_PART1_TYPE='innosetup' + +ARCHIVE_GOG_RAR_EN_0='setup_homm5_tote_2.1.0.24.exe' +ARCHIVE_GOG_RAR_EN_0_MD5='80db7a846cb8a7052506db814cb2185e' +ARCHIVE_GOG_RAR_EN_0_TYPE='rar' +ARCHIVE_GOG_RAR_EN_0_SIZE='2300000' +ARCHIVE_GOG_RAR_EN_0_VERSION='3.1-gog2.1.0.24' +ARCHIVE_GOG_RAR_EN_0_PART1='setup_homm5_tote_2.1.0.24.bin' +ARCHIVE_GOG_RAR_EN_0_PART1_MD5='48a783c1f6d3e15a0439fc58d85c5b28' +ARCHIVE_GOG_RAR_EN_0_PART1_TYPE='rar' + +ARCHIVE_GOG_RAR_FR_0='setup_homm5_tote_french_2.1.0.24.exe' +ARCHIVE_GOG_RAR_FR_0_MD5='67f1c9b8ddeae0707729ebfb8ec05e51' +ARCHIVE_GOG_RAR_FR_0_TYPE='rar' +ARCHIVE_GOG_RAR_FR_0_SIZE='2300000' +ARCHIVE_GOG_RAR_FR_0_VERSION='3.1-gog2.1.0.24' +ARCHIVE_GOG_RAR_FR_0_PART1='setup_homm5_tote_french_2.1.0.24-1.bin' +ARCHIVE_GOG_RAR_FR_0_PART1_MD5='bfb583edb64c548cf60f074e4abc2043' +ARCHIVE_GOG_RAR_FR_0_PART1_TYPE='rar' + +ARCHIVE_DOC_FANDOCS_PATH='.' +ARCHIVE_DOC_FANDOCS_FILES='fandocuments/*.pdf fandocuments/*.txt' +# Keep compatibility with old archives +ARCHIVE_DOC_FANDOCS_PATH_GOG_RAR='game' + +ARCHIVE_DOC_L10N_PATH='.' +ARCHIVE_DOC_L10N_FILES='*.pdf *.txt editor?documentation' +# Keep compatibility with old archives +ARCHIVE_DOC_L10N_PATH_GOG_RAR='game' + +ARCHIVE_GAME_FANDOCS_PATH='.' +ARCHIVE_GAME_FANDOCS_FILES='fandocuments/*.exe' +# Keep compatibility with old archives +ARCHIVE_GAME_FANDOCS_PATH_GOG_RAR='game' + +ARCHIVE_GAME_BIN_PATH='.' +ARCHIVE_GAME_BIN_FILES='bin bindm' +# Keep compatibility with old archives +ARCHIVE_GAME_BIN_PATH_GOG_RAR='game' + +ARCHIVE_GAME_L10N_PATH='.' +ARCHIVE_GAME_L10N_FILES='data/a2p1-texts.pak data/sound.pak data/texts.pak' +# Keep compatibility with old archives +ARCHIVE_GAME_L10N_PATH_GOG_RAR='game' + +ARCHIVE_GAME_DATA_PATH='.' +ARCHIVE_GAME_DATA_FILES='*.bmp customcontentdm editor hwcursors music profiles video data/a2p1-data.pak data/data.pak data/soundsfx.pak' +# Keep compatibility with old archives +ARCHIVE_GAME_DATA_PATH_GOG_RAR='game' -ARCHIVE_GOG_EN='setup_homm5_tote_2.1.0.24.bin' -ARCHIVE_GOG_EN_URL='https://www.gog.com/game/heroes_of_might_and_magic_5_bundle' -ARCHIVE_GOG_EN_MD5='48a783c1f6d3e15a0439fc58d85c5b28' -ARCHIVE_GOG_EN_TYPE='rar' -ARCHIVE_GOG_EN_SIZE='2300000' -ARCHIVE_GOG_EN_VERSION='3.1-gog2.1.0.24' - -ARCHIVE_GOG_FR='setup_homm5_tote_french_2.1.0.24-1.bin' -ARCHIVE_GOG_FR_URL='https://www.gog.com/game/heroes_of_might_and_magic_5_bundle' -ARCHIVE_GOG_FR_MD5='bfb583edb64c548cf60f074e4abc2043' -ARCHIVE_GOG_FR_TYPE='rar' -ARCHIVE_GOG_FR_SIZE='2300000' -ARCHIVE_GOG_FR_VERSION='3.1-gog2.1.0.24' - -ARCHIVE_DOC_L10N_PATH='game' -ARCHIVE_DOC_L10N_FILES='./*.pdf ./*.txt ./editor?documentation ./fandocuments/*.pdf ./fandocuments/*.txt' - -ARCHIVE_GAME_BIN_PATH='game' -ARCHIVE_GAME_BIN_FILES='./bindm ./bin/*.exe ./bin/*.ini ./bin/dbghelp.dll ./bin/fmod.dll ./bin/granny2.dll ./bin/libcurl.dll ./bin/mfc71.dll ./bin/mfc71enu.dll ./bin/msvcp71.dll ./bin/msvcr71.dll ./bin/ubistats.dll ./bin/um.dll ./bin/zlib1.dll ./bin/zlibwapi.dll' - -ARCHIVE_GAME_L10N_PATH='game' -ARCHIVE_GAME_L10N_FILES='./fandocuments/*.exe ./data/a2p1-texts.pak ./data/sound.pak ./data/texts.pak' - -ARCHIVE_GAME_DATA_PATH='game' -ARCHIVE_GAME_DATA_FILES='./*.bmp ./customcontentdm ./editor ./hwcursors ./music ./profiles ./video ./data/a2p1-data.pak ./data/data.pak ./data/soundsfx.pak' +DATA_DIRS='./profiles' APP_MAIN_TYPE='wine' APP_MAIN_EXE='bin/h5_game.exe' APP_MAIN_ICON='bin/h5_game.exe' -APP_MAIN_ICON_RES='16 32 48 64 256' +APP_MAIN_PRERUN='# Store user data in persistent directories +user_data_path="$WINEPREFIX/drive_c/users/$USER/My Documents/My Games/Heroes of Might and Magic V - Tribes of the East/Profiles" +if [ ! -e "$user_data_path" ]; then + mkdir --parents "$(dirname "$user_data_path")" + mkdir --parents "$PATH_DATA/profiles" + ln --symbolic "$PATH_DATA/profiles" "$user_data_path" + init_prefix_dirs "$PATH_DATA" "$DATA_DIRS" +fi' +APP_MAIN_PRERUN="$APP_MAIN_PRERUN"' +# Run the game binary from its parent directory +cd "$(dirname "$APP_EXE")" +APP_EXE=$(basename "$APP_EXE")' -APP_EDIT_ID="${GAME_ID}_edit" +APP_EDIT_ID="${GAME_ID}_map-editor" +APP_EDIT_NAME="$GAME_NAME - Map Editor" APP_EDIT_TYPE='wine' APP_EDIT_EXE='bin/h5_mapeditor.exe' APP_EDIT_ICON='bin/h5_mapeditor.exe' APP_EDIT_ICON_ID='128' -APP_EDIT_ICON_RES='32' -APP_EDIT_NAME="$GAME_NAME - Map Editor" +APP_EDIT_PRERUN="$APP_MAIN_PRERUN" -APP_DM_ID="${GAME_ID}_dm" +APP_DM_ID="${GAME_ID}_dark-messiah" +APP_DM_NAME="$GAME_NAME - Dark Messiah" APP_DM_TYPE='wine' APP_DM_EXE='bindm/h5_game.exe' APP_DM_ICON='bindm/h5_game.exe' APP_DM_ICON_ID='101' -APP_DM_ICON_RES='16 32 48 64 256' -APP_DM_NAME="$GAME_NAME - Dark Messiah" +APP_DM_PRERUN="$APP_MAIN_PRERUN" -APP_SKILLS_ID="${GAME_ID}_skills" +APP_SKILLS_ID="${GAME_ID}_skill-wheel" +APP_SKILLS_NAME="$GAME_NAME - SkillWheel" APP_SKILLS_TYPE='wine' APP_SKILLS_EXE='fandocuments/skillwheel.exe' APP_SKILLS_ICON='fandocuments/skillwheel.exe' APP_SKILLS_ICON_ID='200' -APP_SKILLS_ICON_RES='16 32 48' -APP_SKILLS_NAME="$GAME_NAME - SkillWheel" +APP_SKILLS_PRERUN="$APP_MAIN_PRERUN" -PACKAGES_LIST='PKG_L10N PKG_DATA PKG_BIN' +PACKAGES_LIST='PKG_FANDOCS PKG_L10N PKG_DATA PKG_BIN' +# Fan documents — common properties +PKG_FANDOCS_ARCH='32' +PKG_FANDOCS_ID="${GAME_ID}-fan-documents" +PKG_FANDOCS_PROVIDE="$PKG_FANDOCS_ID" +PKG_FANDOCS_DESCRIPTION='Fan documents' +PKG_FANDOCS_DEPS='wine' +# Fan documents — English +PKG_FANDOCS_ID_GOG_EN="${PKG_FANDOCS_ID}-en" +PKG_FANDOCS_DESCRIPTION_GOG_EN="${PKG_FANDOCS_DESCRIPTION} - English version" +# Fan documents — French +PKG_FANDOCS_ID_GOG_FR="${PKG_FANDOCS_ID}-fr" +PKG_FANDOCS_DESCRIPTION_GOG_FR="${PKG_FANDOCS_DESCRIPTION} - French version" +# Keep compatibility with old archives +PKG_FANDOCS_ID_GOG_RAR_EN="$PKG_FANDOCS_ID_GOG_EN" +PKG_FANDOCS_ID_GOG_RAR_FR="$PKG_FANDOCS_ID_GOG_FR" +PKG_FANDOCS_DESCRIPTION_GOG_RAR_EN="$PKG_FANDOCS_DESCRIPTION_GOG_EN" +PKG_FANDOCS_DESCRIPTION_GOG_RAR_FR="$PKG_FANDOCS_DESCRIPTION_GOG_FR" + +# Localization — common properties PKG_L10N_ID="${GAME_ID}-l10n" -PKG_L10N_ID_GOG_EN="${GAME_ID}-l10n-en" -PKG_L10N_ID_GOG_FR="${GAME_ID}-l10n-fr" PKG_L10N_PROVIDE="$PKG_L10N_ID" +# Localization — English +PKG_L10N_ID_GOG_EN="${PKG_L10N_ID}-en" PKG_L10N_DESCRIPTION_GOG_EN='English localization' +# Localization — French +PKG_L10N_ID_GOG_FR="${PKG_L10N_ID}-fr" PKG_L10N_DESCRIPTION_GOG_FR='French localization' +# Keep compatibility with old archives +PKG_L10N_ID_GOG_RAR_EN="$PKG_L10N_ID_GOG_EN" +PKG_L10N_ID_GOG_RAR_FR="$PKG_L10N_ID_GOG_FR" +PKG_L10N_DESCRIPTION_GOG_RAR_EN="$PKG_L10N_DESCRIPTION_GOG_EN" +PKG_L10N_DESCRIPTION_GOG_RAR_FR="$PKG_L10N_DESCRIPTION_GOG_FR" PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' PKG_BIN_ARCH='32' -PKG_BIN_DEPS_DEB="$PKG_DATA_ID, $PKG_L10N_ID, wine32-development | wine32 | wine-bin | wine-i386 | wine-staging-i386, wine:amd64 | wine" -PKG_BIN_DEPS_ARCH="$PKG_DATA_ID $PKG_L10N_ID wine" +PKG_BIN_DEPS="$PKG_DATA_ID $PKG_L10N_ID wine glx" # Load common functions -target_version='2.1' +target_version='2.11' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done fi -#shellcheck source=play.it-2/lib/libplayit2.sh +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" # Extract game data -extract_data_from "$SOURCE_ARCHIVE" -tolower "$PLAYIT_WORKDIR/gamedata" +case "$ARCHIVE" in + ('ARCHIVE_GOG_RAR'*) + extract_data_from "$SOURCE_ARCHIVE_PART1" + tolower "$PLAYIT_WORKDIR/gamedata" + ;; + (*) + extract_data_from "$SOURCE_ARCHIVE" + ;; +esac +prepare_package_layout -for PKG in $PACKAGES_LIST; do - organize_data "DOC_${PKG#PKG_}" "$PATH_DOC" - organize_data "GAME_${PKG#PKG_}" "$PATH_GAME" -done +# Get icons PKG='PKG_BIN' -extract_and_sort_icons_from 'APP_MAIN' 'APP_EDIT' 'APP_DM' -move_icons_to 'PKG_DATA' +icons_get_from_package 'APP_MAIN' 'APP_EDIT' 'APP_DM' +icons_move_to 'PKG_DATA' + +PKG='PKG_FANDOCS' +icons_get_from_package 'APP_SKILLS' -PKG='PKG_L10N' -extract_and_sort_icons_from 'APP_SKILLS' -move_icons_to 'PKG_DATA' +# Clean up temporary files rm --recursive "$PLAYIT_WORKDIR/gamedata" # Write launchers PKG='PKG_BIN' -write_launcher 'APP_MAIN' 'APP_EDIT' 'APP_DM' 'APP_SKILLS' +launchers_write 'APP_MAIN' 'APP_EDIT' 'APP_DM' + +PKG='PKG_FANDOCS' ( - cd "${PKG_BIN_PATH}${PATH_BIN}" - # shellcheck disable=SC2016 - sed --in-place 's|cd "$PATH_PREFIX"|cd "$PATH_PREFIX/${APP_EXE%/*}"|' "$GAME_ID" "$APP_EDIT_ID" "$APP_DM_ID" - # shellcheck disable=SC2016 - sed --in-place 's|wine "$APP_EXE" $APP_OPTIONS $@|wine "${APP_EXE##*/}" $APP_OPTIONS $@|' "$GAME_ID" "$APP_EDIT_ID" "$APP_DM_ID" + # Do not create a winecfg launcher, to avoid a file conflict with PKG_BIN + launcher_write_script_wine_winecfg() { return 0 ; } + desktop_file="${PKG_FANDOCS_PATH}${PATH_DESK}/${GAME_ID}_winecfg.desktop" + mkdir --parents "$(dirname "$desktop_file")" + touch "$desktop_file" + launchers_write 'APP_SKILLS' + rm "$desktop_file" ) # Build package diff -Nru play.it-2.12.0/play.it-2/games/play-hitman.sh play.it-2.12.1/play.it-2/games/play-hitman.sh --- play.it-2.12.0/play.it-2/games/play-hitman.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-hitman.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180806.1 +script_version=20200918.1 # Set game-specific variables @@ -81,16 +81,25 @@ target_version='2.5' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-hive-time.sh play.it-2.12.1/play.it-2/games/play-hive-time.sh --- play.it-2.12.0/play.it-2/games/play-hive-time.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-hive-time.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,130 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine Le Gonidec +# Copyright (c) 2016-2020, Mopi +# 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. +### + +### +# Hive Time +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20201020.2 + +# Set game-specific variables + +GAME_ID='hive-time' +GAME_NAME='Hive Time' + +ARCHIVES_LIST=' +ARCHIVE_ITCH_0' + +ARCHIVE_ITCH_0='hive-time-linux-v1.1.zip' +ARCHIVE_ITCH_0_URL='https://cheeseness.itch.io/hive-time' +ARCHIVE_ITCH_0_MD5='5d63b490982d96620b0bbb7b6522be56' +ARCHIVE_ITCH_0_SIZE='180000' +ARCHIVE_ITCH_0_VERSION='1.1-itch' +ARCHIVE_ITCH_0_TYPE='zip' + +ARCHIVE_GAME_BIN_PATH='.' +ARCHIVE_GAME_BIN_FILES='hive-time_linux_v1.1.x86_64' + +ARCHIVE_GAME_DATA_PATH='.' +ARCHIVE_GAME_DATA_FILES='json hive-time_linux_v1.1.pck fonts' + +APP_MAIN_TYPE='native' +APP_MAIN_EXE='hive-time_linux_v1.1.x86_64' + +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 glibc libstdc++ glx xcursor" +PKG_BIN_DEPS_ARCH='libx11 ' +PKG_BIN_DEPS_DEB='libx11-6' +PKG_BIN_DEPS_GENTOO='x11-libs/libX11' + +# Load common functions + +target_version='2.12' + +if [ -z "$PLAYIT_LIB2" ]; then + for path in \ + "$PWD" \ + "${XDG_DATA_HOME:="$HOME/.local/share"}/play.it" \ + '/usr/local/share/games/play.it' \ + '/usr/local/share/play.it' \ + '/usr/share/games/play.it' \ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +set_standard_permissions "$PLAYIT_WORKDIR/gamedata" +prepare_package_layout + +# Clean up temporary directories + +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Write launchers + +PKG='PKG_BIN' +launchers_write 'APP_MAIN' + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-hot-tin-roof.sh play.it-2.12.1/play.it-2/games/play-hot-tin-roof.sh --- play.it-2.12.0/play.it-2/games/play-hot-tin-roof.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-hot-tin-roof.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180401.2 +script_version=20200918.1 # Set game-specific variables @@ -88,16 +88,25 @@ target_version='2.7' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-huniepop.sh play.it-2.12.1/play.it-2/games/play-huniepop.sh --- play.it-2.12.0/play.it-2/games/play-huniepop.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-huniepop.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -87,16 +87,25 @@ target_version='2.5' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-i-have-no-mouth-and-i-must-scream.sh play.it-2.12.1/play.it-2/games/play-i-have-no-mouth-and-i-must-scream.sh --- play.it-2.12.0/play.it-2/games/play-i-have-no-mouth-and-i-must-scream.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-i-have-no-mouth-and-i-must-scream.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -98,16 +98,25 @@ target_version='2.5' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-jade-empire.sh play.it-2.12.1/play.it-2/games/play-jade-empire.sh --- play.it-2.12.0/play.it-2/games/play-jade-empire.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-jade-empire.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -149,16 +149,25 @@ target_version='2.2' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-jazzpunk.sh play.it-2.12.1/play.it-2/games/play-jazzpunk.sh --- play.it-2.12.0/play.it-2/games/play-jazzpunk.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-jazzpunk.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180130.1 +script_version=20200918.1 # Set game-specific variables @@ -89,16 +89,25 @@ target_version='2.5' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-journey-of-a-roach.sh play.it-2.12.1/play.it-2/games/play-journey-of-a-roach.sh --- play.it-2.12.0/play.it-2/games/play-journey-of-a-roach.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-journey-of-a-roach.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -78,16 +78,25 @@ target_version='2.0' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-julia-among-the-stars.sh play.it-2.12.1/play.it-2/games/play-julia-among-the-stars.sh --- play.it-2.12.0/play.it-2/games/play-julia-among-the-stars.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-julia-among-the-stars.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -99,16 +99,25 @@ target_version='2.5' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-jydge.sh play.it-2.12.1/play.it-2/games/play-jydge.sh --- play.it-2.12.0/play.it-2/games/play-jydge.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-jydge.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180419.1 +script_version=20200918.1 # Set game-specific variables @@ -71,16 +71,25 @@ target_version='2.7' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-kentucky-route-zero.sh play.it-2.12.1/play.it-2/games/play-kentucky-route-zero.sh --- play.it-2.12.0/play.it-2/games/play-kentucky-route-zero.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-kentucky-route-zero.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -90,16 +90,25 @@ target_version='2.3' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-kerbal-space-program.sh play.it-2.12.1/play.it-2/games/play-kerbal-space-program.sh --- play.it-2.12.0/play.it-2/games/play-kerbal-space-program.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-kerbal-space-program.sh 2020-11-25 15:14:43.000000000 +0000 @@ -1,8 +1,8 @@ -#!/bin/sh -e +#!/bin/sh set -o errexit ### -# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2015-2020, Antoine Le Gonidec # Copyright (c) 2018-2020, BetaRays # All rights reserved. # @@ -31,11 +31,11 @@ ### # Kerbal Space Program -# build native Linux packages from the original installers -# send your bug reports to vv221@dotslashplay.it +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it ### -script_version=20200325.2 +script_version=20201102.1 # Set game-specific variables @@ -43,12 +43,19 @@ GAME_NAME='Kerbal Space Program' ARCHIVES_LIST=' +ARCHIVE_GOG_2 ARCHIVE_GOG_1 ARCHIVE_GOG_0 ' +ARCHIVE_GOG_2='kerbal_space_program_1_10_0_02917_39410.sh' +ARCHIVE_GOG_2_URL='https://www.gog.com/game/kerbal_space_program' +ARCHIVE_GOG_2_MD5='40d7ea6e6c112a95954b3178030599b0' +ARCHIVE_GOG_2_VERSION='1.10.0.02917-gog39410' +ARCHIVE_GOG_2_SIZE='4000000' +ARCHIVE_GOG_2_TYPE='mojosetup' + ARCHIVE_GOG_1='kerbal_space_program_1_9_1_02788_36309.sh' -ARCHIVE_GOG_1_URL='https://www.gog.com/game/kerbal_space_program' ARCHIVE_GOG_1_MD5='6157d3ebad90960893e4aa177b8518de' ARCHIVE_GOG_1_VERSION='1.9.1.02788-gog36309' ARCHIVE_GOG_1_SIZE='3700000' @@ -89,31 +96,29 @@ # Load common functions -target_version='2.11' +target_version='2.12' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - for path in\ - './'\ - "$XDG_DATA_HOME/play.it/"\ - "$XDG_DATA_HOME/play.it/play.it-2/lib/"\ - '/usr/local/share/games/play.it/'\ - '/usr/local/share/play.it/'\ - '/usr/share/games/play.it/'\ - '/usr/share/play.it/' + for path in \ + "$PWD" \ + "${XDG_DATA_HOME:="$HOME/.local/share"}/play.it" \ + '/usr/local/share/games/play.it' \ + '/usr/local/share/play.it' \ + '/usr/share/games/play.it' \ + '/usr/share/play.it' do - if [ -z "$PLAYIT_LIB2" ] && [ -e "$path/libplayit2.sh" ]; then + if [ -e "$path/libplayit2.sh" ]; then PLAYIT_LIB2="$path/libplayit2.sh" break fi done - if [ -z "$PLAYIT_LIB2" ]; then - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi fi -#shellcheck source=play.it-2/lib/libplayit2.sh +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" # Extract game data diff -Nru play.it-2.12.0/play.it-2/games/play-kingdom-rush.sh play.it-2.12.1/play.it-2/games/play-kingdom-rush.sh --- play.it-2.12.0/play.it-2/games/play-kingdom-rush.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-kingdom-rush.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180802.1 +script_version=20200918.1 # Set game-specific variables @@ -79,16 +79,25 @@ target_version='2.7' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-king-of-the-monsters.sh play.it-2.12.1/play.it-2/games/play-king-of-the-monsters.sh --- play.it-2.12.0/play.it-2/games/play-king-of-the-monsters.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-king-of-the-monsters.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,135 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2020, HS-157 +# 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. +### + +### +# KING OF THE MONSTERS +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20200927.1 + +# Set game-specific variables + +GAME_ID='king-of-the-monsters' +GAME_NAME="KING OF THE MONSTERS" + +ARCHIVE_HUMBLE='KingOfTheMonsters_jan2016.sh' +ARCHIVE_HUMBLE_TYPE='mojosetup' +ARCHIVE_HUMBLE_MD5='7a82ccaada86bd1c4637f0e088afbfa3' +ARCHIVE_HUMBLE_VERSION='1.0-humblejan2016' +ARCHIVE_HUMBLE_SIZE='36000' + +ARCHIVE_GAME_BIN32_PATH_HUMBLE='data/x86' +ARCHIVE_GAME_BIN32_FILES='NeogeoEmu.bin.x86 lib' + +ARCHIVE_GAME_BIN64_PATH_HUMBLE='data/x86_64' +ARCHIVE_GAME_BIN64_FILES='NeogeoEmu.bin.x86_64 lib64' + +ARCHIVE_GAME_DATA_PATH_HUMBLE='data/noarch' +ARCHIVE_GAME_DATA_FILES='*' + +APP_MAIN_TYPE='native' +APP_MAIN_ICON='KingOfTheMonsters.png' +APP_MAIN_EXE_BIN32='NeogeoEmu.bin.x86' +APP_MAIN_EXE_BIN64='NeogeoEmu.bin.x86_64' + +DATA_FILES='*.ini *.rml *.txt' + +PACKAGES_LIST='PKG_BIN32 PKG_BIN64 PKG_DATA' + +PKG_DATA_ID="${GAME_ID}-data" +PKG_DATA_DESCRIPTION='data' + +PKG_BIN32_ARCH='32' +PKG_BIN32_DEPS="$PKG_DATA_ID glibc libstdc++ sdl2 glx alsa libudev1" + +PKG_BIN64_ARCH='64' +PKG_BIN64_DEPS="$PKG_BIN32_DEPS" + +# Load common functions + +target_version='2.11' + +if [ -z "$PLAYIT_LIB2" ]; then + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +prepare_package_layout +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Extract icon + +PKG='PKG_DATA' +icons_get_from_package 'APP_MAIN' + +# Write launchers +for PKG in 'PKG_BIN32' 'PKG_BIN64'; do + launchers_write 'APP_MAIN' +done + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-knights-of-pen-and-paper.sh play.it-2.12.1/play.it-2/games/play-knights-of-pen-and-paper.sh --- play.it-2.12.0/play.it-2/games/play-knights-of-pen-and-paper.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-knights-of-pen-and-paper.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -83,16 +83,25 @@ target_version='2.5' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-kyn.sh play.it-2.12.1/play.it-2/games/play-kyn.sh --- play.it-2.12.0/play.it-2/games/play-kyn.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-kyn.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180802.1 +script_version=20200918.1 # Set game-specific variables @@ -90,16 +90,25 @@ target_version='2.7' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-legend-of-grimrock.sh play.it-2.12.1/play.it-2/games/play-legend-of-grimrock.sh --- play.it-2.12.0/play.it-2/games/play-legend-of-grimrock.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-legend-of-grimrock.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -89,16 +89,25 @@ target_version='2.3' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-liar-liar.sh play.it-2.12.1/play.it-2/games/play-liar-liar.sh --- play.it-2.12.0/play.it-2/games/play-liar-liar.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-liar-liar.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,152 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2016-2020, Mopi +# 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. +### + +### +# Liar Liar +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20201007.1 + +# Set game-specific variables + +GAME_ID='liar-liar' +GAME_NAME='Liar Liar' + +ARCHIVES_LIST=' +ARCHIVE_ITCH_0' + +ARCHIVE_ITCH_0='liarliar1.0-all.zip' +ARCHIVE_ITCH_0_URL='https://tokimekiwaku.itch.io/liar-liar' +ARCHIVE_ITCH_0_MD5='192d7cef446bb6d9ce01e3678889bbbd' +ARCHIVE_ITCH_0_SIZE='96000' +ARCHIVE_ITCH_0_VERSION='1.0-itch' +ARCHIVE_ITCH_0_TYPE='zip' + +ARCHIVE_DOC_DATA_PATH='liarliar1.0-all' +ARCHIVE_DOC_DATA_FILES='README.html' + +ARCHIVE_GAME_BIN32_PATH='liarliar1.0-all' +ARCHIVE_GAME_BIN32_FILES='lib/linux-i686 liar?liar.sh' + +ARCHIVE_GAME_BIN64_PATH='liarliar1.0-all' +ARCHIVE_GAME_BIN64_FILES='lib/linux-x86_64' + +ARCHIVE_GAME_DATA_PATH='liarliar1.0-all' +ARCHIVE_GAME_DATA_FILES='lib/pythonlib2.7 game liar?liar.py renpy' + +DATA_DIRS='game/saves' + +APP_MAIN_TYPE='native' +APP_MAIN_EXE='liar liar.sh' +APP_MAIN_ICON='liarliar1.0-all/liar liar.exe' + +PACKAGES_LIST='PKG_BIN32 PKG_BIN64 PKG_DATA' + +PKG_DATA_ID="${GAME_ID}-data" +PKG_DATA_DESCRIPTION='data' + +PKG_BIN32_ARCH='32' +PKG_BIN32_DEPS="$PKG_DATA_ID glibc libstdc++" + +PKG_BIN64_ARCH='64' +PKG_BIN64_DEPS="$PKG_BIN32_DEPS" + +# Load common functions + +target_version='2.12' + +if [ -z "$PLAYIT_LIB2" ]; then + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +prepare_package_layout + +# Copy launching script between the binaries packages + +LAUNCHER_SOURCE="${PKG_BIN32_PATH}${PATH_GAME}/$APP_MAIN_EXE" +LAUNCHER_DESTINATION="${PKG_BIN64_PATH}${PATH_GAME}/$APP_MAIN_EXE" +mkdir --parents "$(dirname "$LAUNCHER_DESTINATION")" +cp "$LAUNCHER_SOURCE" "$LAUNCHER_DESTINATION" + +# Get icon + +PKG='PKG_DATA' +icons_get_from_workdir 'APP_MAIN' + +# Clean up temporary directories + +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Write launchers + +for PKG in 'PKG_BIN32' 'PKG_BIN64'; do + launchers_write 'APP_MAIN' +done + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-litil-divil.sh play.it-2.12.1/play.it-2/games/play-litil-divil.sh --- play.it-2.12.0/play.it-2/games/play-litil-divil.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-litil-divil.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -93,16 +93,25 @@ target_version='2.4' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-little-big-adventure-2.sh play.it-2.12.1/play.it-2/games/play-little-big-adventure-2.sh --- play.it-2.12.0/play.it-2/games/play-little-big-adventure-2.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-little-big-adventure-2.sh 2020-11-25 15:14:43.000000000 +0000 @@ -1,10 +1,11 @@ -#!/bin/sh -e +#!/bin/sh set -o errexit ### # Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec # Copyright (c) 2016-2020, Mopi # Copyright (c) 2018-2020, Andrey Butirsky +# Copyright (c) 2020, macaron # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -33,51 +34,64 @@ ### # Little Big Adventure 2 # build native packages from the original installers -# send your bug reports to vv221@dotslashplay.it +# send your bug reports to contact@dotslashplay.it ### -script_version=20181103.3 +script_version=20200924.1 # Set game-specific variables GAME_ID='little-big-adventure-2' GAME_NAME='Little Big Adventure 2' -ARCHIVE_GOG='setup_lba2_2.1.0.8.exe' -ARCHIVE_GOG_URL='https://www.gog.com/game/little_big_adventure_2' -ARCHIVE_GOG_MD5='9909163b7285bd37417f6d3c1ccfa3ee' -ARCHIVE_GOG_SIZE='750000' -ARCHIVE_GOG_VERSION='1.0-gog2.1.0.8' - -ARCHIVE_DOC_DATA_PATH='app' -ARCHIVE_DOC_DATA_FILES='*.pdf *.txt' - -ARCHIVE_GAME_BIN_PATH='app' -ARCHIVE_GAME_BIN_FILES='*.bat *.cfg *.dos *.exe *.ini drivers' - -ARCHIVE_GAME_DATA_PATH='app' -ARCHIVE_GAME_DATA_FILES='*.hqr *.ile *.obl lba2.dat lba2.gog lba2.ogg' +ARCHIVES_LIST=' +ARCHIVE_GOG_1 +ARCHIVE_GOG_0' + +ARCHIVE_GOG_1='setup_little_big_adventure_2_1.0_(28192).exe' +ARCHIVE_GOG_1_URL='https://www.gog.com/game/little_big_adventure_2' +ARCHIVE_GOG_1_MD5='80b95bb8faa2353284b321748021da16' +ARCHIVE_GOG_1_SIZE='750000' +ARCHIVE_GOG_1_VERSION='1.0-gog28192' + +ARCHIVE_GOG_0='setup_lba2_2.1.0.8.exe' +ARCHIVE_GOG_0_MD5='9909163b7285bd37417f6d3c1ccfa3ee' +ARCHIVE_GOG_0_SIZE='750000' +ARCHIVE_GOG_0_VERSION='1.0-gog2.1.0.8' + +ARCHIVE_DOC_MAIN_PATH='.' +ARCHIVE_DOC_MAIN_FILES='*.pdf *.txt' +# Keep compatibility with old archives +ARCHIVE_DOC_MAIN_PATH_GOG_0='app' + +ARCHIVE_GAME_MAIN_PATH='.' +ARCHIVE_GAME_MAIN_FILES='*.bat *.cfg *.dos *.exe *.ini drivers *.hqr *.ile *.obl lba2.dat lba2.gog lba2.ogg' +# Keep compatibility with old archives +ARCHIVE_GAME_MAIN_PATH_GOG_0='app' GAME_IMAGE='lba2.dat' -CONFIG_FILES='./*.cfg' -DATA_DIRS='./save ./vox' +CONFIG_FILES='*.cfg' +DATA_DIRS='save vox' APP_MAIN_TYPE='dosbox' APP_MAIN_EXE='lba2.exe' -APP_MAIN_ICON='lba2.exe' +APP_MAIN_ICON='app/goggame-1207658974.ico' -PACKAGES_LIST='PKG_BIN PKG_DATA' +APP_SETUP_TYPE='dosbox' +APP_SETUP_EXE='setup.exe' +APP_SETUP_ID="${GAME_ID}_setup" +APP_SETUP_NAME="$GAME_NAME - Setup" +APP_SETUP_CAT='Settings' +APP_SETUP_ICON="$APP_MAIN_ICON" -PKG_DATA_ID="${GAME_ID}-data" -PKG_DATA_DESCRIPTION='data' +PACKAGES_LIST='PKG_MAIN' -PKG_BIN_ARCH='32' -PKG_BIN_DEPS="$PKG_DATA_ID dosbox" +PKG_MAIN_DEPS='dosbox' # Load common functions -target_version='2.10' +target_version='2.12' if [ -z "$PLAYIT_LIB2" ]; then : "${XDG_DATA_HOME:="$HOME/.local/share"}" @@ -100,31 +114,28 @@ printf 'libplayit2.sh not found.\n' exit 1 fi -#shellcheck source=play.it-2/lib/libplayit2.sh +# shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" # Extract game data extract_data_from "$SOURCE_ARCHIVE" prepare_package_layout -rm --recursive "$PLAYIT_WORKDIR/gamedata" # Extract icons -PKG='PKG_BIN' -icons_get_from_package 'APP_MAIN' -icons_move_to 'PKG_DATA' +icons_get_from_workdir 'APP_MAIN' 'APP_SETUP' +rm --recursive "$PLAYIT_WORKDIR/gamedata" # Keep Voices on HD -file="${PKG_BIN_PATH}${PATH_GAME}/lba2.cfg" +file="${PKG_MAIN_PATH}${PATH_GAME}/lba2.cfg" pattern='s/\(FlagKeepVoice:\) OFF/\1 ON/' sed --in-place "$pattern" "$file" # Write launchers -PKG='PKG_BIN' -write_launcher 'APP_MAIN' +launchers_write 'APP_MAIN' 'APP_SETUP' # Build package diff -Nru play.it-2.12.0/play.it-2/games/play-lo-fi-room.sh play.it-2.12.1/play.it-2/games/play-lo-fi-room.sh --- play.it-2.12.0/play.it-2/games/play-lo-fi-room.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-lo-fi-room.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,161 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2016-2020, Mopi +# 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. +### + +### +# Lo-Fi Room +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20201006.4 + +# Set game-specific variables + +GAME_ID='lo-fi-room' +GAME_NAME='Lo-Fi Room' + +ARCHIVES_LIST=' +ARCHIVE_ITCH_0' + +ARCHIVE_ITCH_0='lofiroom.tar.xz' +ARCHIVE_ITCH_0_URL='https://bearmask.itch.io/lofi-room' +ARCHIVE_ITCH_0_MD5='c9f0f9d43e7ca81ec372784692a60432' +ARCHIVE_ITCH_0_SIZE='140000' +ARCHIVE_ITCH_0_VERSION='1.0-itch' +ARCHIVE_ITCH_0_TYPE='tar' + +ARCHIVE_GAME_BIN_PATH='linux' +ARCHIVE_GAME_BIN_FILES='lofi_room_linux.x86_64 lofi_room_linux_Data/MonoBleedingEdge/x86_64 lofi_room_linux_Data/Managed lofi_room_linux_Data/Plugins' + +ARCHIVE_GAME_DATA_PATH='linux' +ARCHIVE_GAME_DATA_FILES='lofi_room_linux_Data' + +DATA_DIRS='./logs' + +APP_MAIN_TYPE='native' +APP_MAIN_PRERUN='# Work around Unity3D poor support for non-US locales +export LANG=C' +APP_MAIN_EXE='lofi_room_linux.x86_64' +APP_MAIN_ICON='lofi_room_linux_Data/Resources/UnityPlayer.png' +# Use a per-session dedicated file for logs +# shellcheck disable=SC2016 +APP_MAIN_OPTIONS='-logFile ./logs/$(date +%F-%R).log' + +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 glibc libstdc++" + +# Find the keyboard layout and changes it to qwerty if it needs to be + +PKG_MAIN_DEPS_ARCH="$PKG_MAIN_DEPS_ARCH xorg-setxkbmap" +PKG_MAIN_DEPS_DEB="$PKG_MAIN_DEPS_DEB, x11-xkb-utils" +PKG_MAIN_DEPS_GENTOO="$PKG_MAIN_DEPS_GENTOO x11-apps/setxkbmap" + +APP_MAIN_PRERUN="$APP_MAIN_PRERUN"' +# Find the keyboard layout and changes it to qwerty if it needs to be +KEYBOARD_LAYOUT=$(LANG=C setxkbmap -query | sed --silent "s/^layout: *\\([^ ]\\+\\)$/\\1/p") +RESTORE_KEYMAP=0 +if [ $KEYBOARD_LAYOUT = fr ]; then + KEYBOARD_VARIANT=$(LANG=C setxkbmap -query | sed --silent "s/^variant: *\\([^ ]\\+\\)$/\\1/p") + setxkbmap us + RESTORE_KEYMAP=1 +fi' +APP_MAIN_POSTRUN="$APP_MAIN_POSTRUN"' +# Restore the keyboard layout if it has been changed earlier +if [ $RESTORE_KEYMAP -eq 1 ]; then + setxkbmap $KEYBOARD_LAYOUT -variant $KEYBOARD_VARIANT +fi' + +# Load common functions + +target_version='2.12' + +if [ -z "$PLAYIT_LIB2" ]; then + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +prepare_package_layout + +# Get icon + +PKG='PKG_DATA' +icons_get_from_package 'APP_MAIN' + +# Clean up temporary directories + +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Write launchers + +PKG='PKG_BIN' +launchers_write 'APP_MAIN' + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-long-live-the-queen.sh play.it-2.12.1/play.it-2/games/play-long-live-the-queen.sh --- play.it-2.12.0/play.it-2/games/play-long-live-the-queen.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-long-live-the-queen.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,142 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine Le Gonidec +# Copyright (c) 2016-2020, Mopi +# 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. +### + +### +# Long Live the Queen +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20201019.2 + +# Set game-specific variables + +GAME_ID='long-live-the-queen' +GAME_NAME='Long Live the Queen' + +ARCHIVES_LIST=' +ARCHIVE_GOG_0' + +ARCHIVE_GOG_0='gog_long_live_the_queen_2.4.0.11.sh' +ARCHIVE_GOG_0_URL='https://www.gog.com/game/long_live_the_queen' +ARCHIVE_GOG_0_MD5='654ccbbdde2071c4f13b5f80378582c2' +ARCHIVE_GOG_0_SIZE='63000' +ARCHIVE_GOG_0_VERSION='1.3.23.4-gog2.4.0.11' +ARCHIVE_GOG_0_TYPE='mojosetup' + +ARCHIVE_DOC_0_DATA_PATH='data/noarch/docs' +ARCHIVE_DOC_0_DATA_FILES='*' + +ARCHIVE_DOC_1_DATA_PATH='data/noarch/game' +ARCHIVE_DOC_1_DATA_FILES='LICENSE.txt' + +ARCHIVE_GAME_BIN_PATH='data/noarch/game' +ARCHIVE_GAME_BIN_FILES='LongLiveTheQueen.sh lib LongLiveTheQueen.py renpy' + +ARCHIVE_GAME_DATA_PATH='data/noarch/game' +ARCHIVE_GAME_DATA_FILES='game common' + +APP_MAIN_LIBS='lib' +APP_MAIN_TYPE='native' +APP_MAIN_EXE='LongLiveTheQueen.sh' +APP_MAIN_ICON='data/noarch/support/icon.png' + +PACKAGES_LIST='PKG_BIN PKG_DATA' + +PKG_DATA_ID="${GAME_ID}-data" +PKG_DATA_DESCRIPTION='data' + +PKG_BIN_ARCH='32' +PKG_BIN_DEPS="$PKG_DATA_ID glibc libstdc++" + +# Load common functions + +target_version='2.12' + +if [ -z "$PLAYIT_LIB2" ]; then + for path in \ + "$PWD" \ + "${XDG_DATA_HOME:="$HOME/.local/share"}/play.it" \ + '/usr/local/share/games/play.it' \ + '/usr/local/share/play.it' \ + '/usr/share/games/play.it' \ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +prepare_package_layout + +# Get icon + +PKG='PKG_DATA' +icons_get_from_workdir 'APP_MAIN' + +# Clean up temporary directories + +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Write launchers + +PKG='PKG_BIN' +chmod +x \ + "${PKG_BIN_PATH}${PATH_GAME}/lib/python" \ + "${PKG_BIN_PATH}${PATH_GAME}/lib/linux-x86/python.real" +launchers_write 'APP_MAIN' + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-lumini.sh play.it-2.12.1/play.it-2/games/play-lumini.sh --- play.it-2.12.0/play.it-2/games/play-lumini.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-lumini.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -81,16 +81,25 @@ target_version='2.1' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-lumo.sh play.it-2.12.1/play.it-2/games/play-lumo.sh --- play.it-2.12.0/play.it-2/games/play-lumo.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-lumo.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -90,16 +90,25 @@ target_version='2.3' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-luna.sh play.it-2.12.1/play.it-2/games/play-luna.sh --- play.it-2.12.0/play.it-2/games/play-luna.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-luna.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,128 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine Le Gonidec +# Copyright (c) 2016-2020, Mopi +# 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. +### + +### +# Luna +# build native Linux packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20201123.1 + +# Set game-specific variables + +GAME_ID='luna' +GAME_NAME='Luna' + +ARCHIVE_ITCH='Luna.zip' +ARCHIVE_ITCH_URL='https://funomena.itch.io/luna' +ARCHIVE_ITCH_MD5='05dbd9bf3b74d53159fa41bdbc7c26d7' +ARCHIVE_ITCH_SIZE='2300000' +ARCHIVE_ITCH_VERSION='1.0-itch' + +ARCHIVE_GAME_BIN_PATH='Luna' +ARCHIVE_GAME_BIN_FILES='Luna.exe UnityPlayer.dll Luna_Data/Managed Luna_Data/Mono Luna_Data/Plugins' + +ARCHIVE_GAME_DATA_PATH='Luna' +ARCHIVE_GAME_DATA_FILES='Luna_Data' + +APP_MAIN_TYPE='wine' +APP_MAIN_EXE='Luna.exe' +APP_MAIN_ICON='Luna.exe' + +PACKAGES_LIST='PKG_DATA PKG_BIN' + +PKG_DATA_ID="${GAME_ID}-data" +PKG_DATA_DESCRIPTION='data' + +PKG_BIN_ARCH='64' +PKG_BIN_DEPS="$PKG_DATA_ID wine" + +# Load common functions + +target_version='2.12' + +if [ -z "$PLAYIT_LIB2" ]; then + for path in \ + "$PWD" \ + "${XDG_DATA_HOME:="$HOME/.local/share"}/play.it" \ + '/usr/local/share/games/play.it' \ + '/usr/local/share/play.it' \ + '/usr/share/games/play.it' \ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +prepare_package_layout + +# Get icon + +PKG='PKG_BIN' +icons_get_from_package 'APP_MAIN' + +# Clean up temporary directories + +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Write launchers + +PKG='PKG_BIN' +launchers_write 'APP_MAIN' + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-machinarium.sh play.it-2.12.1/play.it-2/games/play-machinarium.sh --- play.it-2.12.0/play.it-2/games/play-machinarium.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-machinarium.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -78,16 +78,25 @@ target_version='2.5' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-mark-of-the-ninja.sh play.it-2.12.1/play.it-2/games/play-mark-of-the-ninja.sh --- play.it-2.12.0/play.it-2/games/play-mark-of-the-ninja.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-mark-of-the-ninja.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180303.1 +script_version=20200918.1 # Set game-specific variables @@ -93,16 +93,25 @@ target_version='2.5' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-mark-of-the-ninja-special-edition.sh play.it-2.12.1/play.it-2/games/play-mark-of-the-ninja-special-edition.sh --- play.it-2.12.0/play.it-2/games/play-mark-of-the-ninja-special-edition.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-mark-of-the-ninja-special-edition.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180303.1 +script_version=20200918.1 # Set game-specific variables @@ -45,7 +45,6 @@ ARCHIVES_LIST='ARCHIVE_GOG' ARCHIVE_GOG='gog_mark_of_the_ninja_special_edition_dlc_2.0.0.4.sh' -ARCHIVE_GOG_URL='https://www.gog.com/game/mark_of_the_ninja_special_edition_upgrade' ARCHIVE_GOG_MD5='bbce70b80932ec9c14fbedf0b6b33eb1' ARCHIVE_GOG_SIZE='250000' ARCHIVE_GOG_VERSION='1.0-gog2.0.0.4' @@ -77,16 +76,25 @@ target_version='2.5' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-melodys-escape.sh play.it-2.12.1/play.it-2/games/play-melodys-escape.sh --- play.it-2.12.0/play.it-2/games/play-melodys-escape.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-melodys-escape.sh 2020-11-25 15:14:43.000000000 +0000 @@ -1,8 +1,9 @@ -#!/bin/sh -e +#!/bin/sh set -o errexit ### # Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2016-2020, Mopi # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -29,20 +30,19 @@ ### ### -# Melody’s Escape -# build native Linux packages from the original installers -# send your bug reports to vv221@dotslashplay.it +# Melodyʼs Escape +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it ### -script_version=20180224.1 +script_version=20201005.1 # Set game-specific variables GAME_ID='melodys-escape' -# shellcheck disable=SC1112 -GAME_NAME='Melody’s Escape' +GAME_NAME='Melodyʼs Escape' -ARCHIVES_LIST='ARCHIVE_HUMBLE' +SCRIPT_DEPS='xdelta3' ARCHIVE_HUMBLE='Melodys_Escape_Linux.zip' ARCHIVE_HUMBLE_URL='https://www.humblebundle.com/store/melodys-escape' @@ -50,86 +50,151 @@ ARCHIVE_HUMBLE_SIZE='60000' ARCHIVE_HUMBLE_VERSION='1.0-humble160601' -ARCHIVE_ICONS_PACK='melodys-escape_icons.tar.gz' -ARCHIVE_ICONS_PACK_MD5='656fce13728d399e557fd72c3a6bc244' +ARCHIVE_REQUIRED_LIB_PATCHES='melodys-escape_lib-patches.tar.gz' +ARCHIVE_REQUIRED_LIB_PATCHES_MD5='6aee21776f44df0d927babcddfa3c386' +ARCHIVE_REQUIRED_LIB_PATCHES_URL='https://downloads.dotslashplay.it/resources/melodys-escape/' + +ARCHIVE_OPTIONAL_ICONS='melodys-escape_icons.tar.gz' +ARCHIVE_OPTIONAL_ICONS_MD5='656fce13728d399e557fd72c3a6bc244' +ARCHIVE_OPTIONAL_ICONS_URL='https://downloads.dotslashplay.it/resources/melodys-escape/' + +ARCHIVE_OPTIONAL_LIB64='melodys-escape_lib64.tar.gz' +ARCHIVE_OPTIONAL_LIB64_MD5='a77c6b3acd5910bd874a1ca4b7d0c53c' +ARCHIVE_OPTIONAL_LIB64_URL='https://downloads.dotslashplay.it/resources/melodys-escape/' -ARCHIVE_DOC_PATH="Melody's Escape" -ARCHIVE_DOC_FILES='./Licenses ./README.txt' +ARCHIVE_DOC_DATA_PATH="Melody's Escape" +ARCHIVE_DOC_DATA_FILES='Licenses README.txt' -ARCHIVE_GAME_BIN_PATH="Melody's Escape" -ARCHIVE_GAME_BIN_FILES='./MelodysEscape.bin.x86 ./lib ./*.dll ./FNA.dll.config ./*.so ./MelodysEscape.exe' +ARCHIVE_GAME_BIN32_PATH="Melody's Escape" +ARCHIVE_GAME_BIN32_FILES='lib/libbass.so lib/libbassmix.so lib/libmojoshader.so BassPlugins/libbassflac.so' + +ARCHIVE_GAME_BIN64_PATH='.' +ARCHIVE_GAME_BIN64_FILES='lib64/libbass.so lib64/libbassmix.so lib64/libmojoshader.so BassPlugins/libbassflac.so' ARCHIVE_GAME_DATA_PATH="Melody's Escape" -ARCHIVE_GAME_DATA_FILES='./BassPlugins ./BundledMusic ./Calibration ./Content ./Mods ./mono' +ARCHIVE_GAME_DATA_FILES='BundledMusic Calibration Content Mods mono *.dll.config MelodysEscape.exe Bass.Net.Linux.dll FNA.dll FNA.dll.config MelodyEngine.dll MelodyReactor.dll tar-cs.dll' ARCHIVE_ICONS_PATH='.' -ARCHIVE_ICONS_FILES='./16x16 ./32x32 ./48x48 ./64x64 ./128x128 ./256x256' +ARCHIVE_ICONS_FILES='16x16 32x32 48x48 64x64 128x128 256x256' -APP_MAIN_TYPE='native' -APP_MAIN_EXE='MelodysEscape.bin.x86' +APP_MAIN_TYPE='mono' +APP_MAIN_LIBS_BIN32='lib' +APP_MAIN_LIBS_BIN64='lib64' +APP_MAIN_EXE='MelodysEscape.exe' -PACKAGES_LIST='PKG_DATA PKG_BIN' +PACKAGES_LIST='PKG_BIN32 PKG_DATA' +PACKAGES_LIST_LIB64='PKG_BIN32 PKG_BIN64 PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' -PKG_BIN_ARCH='32' -PKG_BIN_DEPS_DEB="$PKG_DATA_ID, libc6, libstdc++6" -PKG_BIN_DEPS_ARCH="$PKG_DATA_ID lib32-glibc" +PKG_BIN32_ARCH='32' +PKG_BIN32_DEPS="$PKG_DATA_ID mono openal sdl2 sdl2_image alsa" +PKG_BIN32_DEPS_DEB='libmono-2.0-1, libmono-posix4.0-cil, libmono-security4.0-cil, libmono-system-configuration4.0-cil, libmono-system-core4.0-cil, libmono-system-data4.0-cil, libmono-system4.0-cil, libmono-system-drawing4.0-cil, libmono-system-runtime-serialization4.0-cil, libmono-system-security4.0-cil, libmono-system-xml4.0-cil' + +PKG_BIN64_ARCH='64' +PKG_BIN64_DEPS="$PKG_BIN32_DEPS" +PKG_BIN64_DEPS_DEB="$PKG_BIN32_DEPS_DEB" # Load common functions -target_version='2.5' +target_version='2.12' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi -#shellcheck source=play.it-2/lib/libplayit2.sh +# shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" -# Try to load icons archive +# Load required archives ARCHIVE_MAIN="$ARCHIVE" -set_archive 'ARCHIVE_ICONS' 'ARCHIVE_ICONS_PACK' +set_archive 'ARCHIVE_LIB_PATCHES' 'ARCHIVE_REQUIRED_LIB_PATCHES' ARCHIVE="$ARCHIVE_MAIN" +if [ -z "$ARCHIVE_LIB_PATCHES" ]; then + archive_set_error_not_found 'ARCHIVE_REQUIRED_LIB_PATCHES' +fi -# Extract game data +# Load optional archives -extract_data_from "$SOURCE_ARCHIVE" -if [ "$ARCHIVE_ICONS" ]; then +ARCHIVE_MAIN="$ARCHIVE" +set_archive 'ARCHIVE_ICONS' 'ARCHIVE_OPTIONAL_ICONS' +set_archive 'ARCHIVE_LIB64' 'ARCHIVE_OPTIONAL_LIB64' +ARCHIVE="$ARCHIVE_MAIN" +if [ -n "$ARCHIVE_LIB64" ]; then + PACKAGES_LIST="$PACKAGES_LIST_LIB64" + set_temp_directories $PACKAGES_LIST +fi + +# Include optional icons pack + +if [ -n "$ARCHIVE_ICONS" ]; then + PKG='PKG_DATA' ( ARCHIVE='ARCHIVE_ICONS' extract_data_from "$ARCHIVE_ICONS" ) + organize_data 'ICONS' "$PATH_ICON_BASE" + rm --recursive "$PLAYIT_WORKDIR/gamedata" fi -PKG='PKG_BIN' -organize_data 'GAME_BIN' "$PATH_GAME" +# Include optional 64-bit libraries -PKG='PKG_DATA' -organize_data 'DOC' "$PATH_DOC" -organize_data 'GAME_DATA' "$PATH_GAME" - -PKG='PKG_DATA' -if [ "$ARCHIVE_ICONS" ]; then - organize_data 'ICONS' "$PATH_ICON_BASE" +if [ -n "$ARCHIVE_LIB64" ]; then + ( + ARCHIVE='ARCHIVE_LIB64' + extract_data_from "$ARCHIVE_LIB64" + ) + prepare_package_layout + rm --recursive "$PLAYIT_WORKDIR/gamedata" fi +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +prepare_package_layout +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Patch shipped libraries, to ensure they work with system-provided Mono + +( + ARCHIVE='ARCHIVE_LIB_PATCHES' + extract_data_from "$ARCHIVE_LIB_PATCHES" +) +for file in 'MelodyReactor.dll' 'MelodysEscape.exe'; do + original_file="${PKG_DATA_PATH}${PATH_GAME}/${file}" + patched_file="$original_file" + patch="$PLAYIT_WORKDIR/gamedata/${file}.delta" + xdelta3 decode -f -s "$original_file" "$patch" "$patched_file" +done rm --recursive "$PLAYIT_WORKDIR/gamedata" # Write launchers -PKG='PKG_BIN' -write_launcher 'APP_MAIN' +PKG='PKG_BIN32' +launchers_write 'APP_MAIN' +if [ -n "$ARCHIVE_LIB64" ]; then + PKG='PKG_BIN64' + launchers_write 'APP_MAIN' +fi # Build package diff -Nru play.it-2.12.0/play.it-2/games/play-metal-slug-2.sh play.it-2.12.1/play.it-2/games/play-metal-slug-2.sh --- play.it-2.12.0/play.it-2/games/play-metal-slug-2.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-metal-slug-2.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,136 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2020, HS-157 +# 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. +### + +### +# METAL SLUG 2 +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20200930.1 + +# Set game-specific variables + +GAME_ID='metal-slug-2' +GAME_NAME='METAL SLUG 2' + +ARCHIVE_HUMBLE='MetalSlug2_jan2016.sh' +ARCHIVE_HUMBLE_TYPE='mojosetup' +ARCHIVE_HUMBLE_URL='https://www.humblebundle.com/store/metal-slug-2' +ARCHIVE_HUMBLE_MD5='c6ee0e16787b4ec5d497f96f9474ce80' +ARCHIVE_HUMBLE_VERSION='1.0-humblejan2016' +ARCHIVE_HUMBLE_SIZE='49000' + +ARCHIVE_GAME_BIN32_PATH_HUMBLE='data/x86' +ARCHIVE_GAME_BIN32_FILES='NeogeoEmu.bin.x86 lib' + +ARCHIVE_GAME_BIN64_PATH_HUMBLE='data/x86_64' +ARCHIVE_GAME_BIN64_FILES='NeogeoEmu.bin.x86_64 lib64' + +ARCHIVE_GAME_DATA_PATH_HUMBLE='data/noarch' +ARCHIVE_GAME_DATA_FILES='*' + +APP_MAIN_TYPE='native' +APP_MAIN_ICON='MetalSlug2.png' +APP_MAIN_EXE_BIN32='NeogeoEmu.bin.x86' +APP_MAIN_EXE_BIN64='NeogeoEmu.bin.x86_64' + +DATA_FILES='*.ini *.rml *.txt' + +PACKAGES_LIST='PKG_BIN32 PKG_BIN64 PKG_DATA' + +PKG_DATA_ID="${GAME_ID}-data" +PKG_DATA_DESCRIPTION='data' + +PKG_BIN32_ARCH='32' +PKG_BIN32_DEPS="$PKG_DATA_ID glibc libstdc++ sdl2 glx alsa libudev1" + +PKG_BIN64_ARCH='64' +PKG_BIN64_DEPS="$PKG_BIN32_DEPS" + +# Load common functions + +target_version='2.11' + +if [ -z "$PLAYIT_LIB2" ]; then + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +prepare_package_layout +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Extract icon + +PKG='PKG_DATA' +icons_get_from_package 'APP_MAIN' + +# Write launchers +for PKG in 'PKG_BIN32' 'PKG_BIN64'; do + launchers_write 'APP_MAIN' +done + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-mimo.sh play.it-2.12.1/play.it-2/games/play-mimo.sh --- play.it-2.12.0/play.it-2/games/play-mimo.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-mimo.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,140 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine Le Gonidec +# Copyright (c) 2016-2020, Mopi +# 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. +### + +### +# Mimo +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20201020.2 + +# Set game-specific variables + +GAME_ID='mimo' +GAME_NAME='Mimo' + +ARCHIVES_LIST=' +ARCHIVE_ITCH_0' + +ARCHIVE_ITCH_0='MIMO_Linux.zip' +ARCHIVE_ITCH_0_URL='https://bebadboi.itch.io/mimo' +ARCHIVE_ITCH_0_MD5='41fb3512abe6df5eae803faa0d1484c8' +ARCHIVE_ITCH_0_SIZE='300000' +ARCHIVE_ITCH_0_VERSION='1.01-itch1' +ARCHIVE_ITCH_0_TYPE='zip' + +ARCHIVE_GAME_BIN_PATH='MIMO_Linux' +ARCHIVE_GAME_BIN_FILES='MIMO.x86_64 MIMO_Data/Mono*/x86_64 MIMO_Data/Plugins/x86_64 MIMO_Data/Managed' + +ARCHIVE_GAME_DATA_PATH='MIMO_Linux' +ARCHIVE_GAME_DATA_FILES='MIMO_Data' + +DATA_DIRS='./logs' + +APP_MAIN_TYPE='native' +APP_MAIN_PRERUN='# Work around Unity3D poor support for non-US locales +export LANG=C' +APP_MAIN_EXE='MIMO.x86_64' +APP_MAIN_ICON='MIMO_Data/Resources/UnityPlayer.png' +# Use a per-session dedicated file for logs +# shellcheck disable=SC2016 +APP_MAIN_OPTIONS='-logFile ./logs/$(date +%F-%R).log' + +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 glibc libstdc++ gtk2 freetype libgdk_pixbuf-2.0.so.0 libgobject-2.0.so.0 libglib-2.0.so.0" + +# Load common functions + +target_version='2.12' + +if [ -z "$PLAYIT_LIB2" ]; then + for path in \ + "$PWD" \ + "${XDG_DATA_HOME:="$HOME/.local/share"}/play.it" \ + '/usr/local/share/games/play.it' \ + '/usr/local/share/play.it' \ + '/usr/share/games/play.it' \ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +set_standard_permissions "$PLAYIT_WORKDIR/gamedata" +prepare_package_layout + +# Get icon + +PKG='PKG_DATA' +icons_get_from_package 'APP_MAIN' + +# Clean up temporary directories + +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Write launchers + +PKG='PKG_BIN' +launchers_write 'APP_MAIN' + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-mini-metro.sh play.it-2.12.1/play.it-2/games/play-mini-metro.sh --- play.it-2.12.0/play.it-2/games/play-mini-metro.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-mini-metro.sh 2020-11-25 15:14:43.000000000 +0000 @@ -36,54 +36,63 @@ # send your bug reports to contact@dotslashplay.it ### -script_version=20200716.1 +script_version=20200805.1 # Set game-specific variables GAME_ID='mini-metro' GAME_NAME='Mini Metro' -ARCHIVE_HUMBLE='MiniMetro-release-41-linux.tar.gz' -ARCHIVE_HUMBLE_URL='https://www.humblebundle.com/store/mini-metro' -ARCHIVE_HUMBLE_MD5='01f6f15ba835e1c54e52df90ff890408' -ARCHIVE_HUMBLE_VERSION='1.41-humble' -ARCHIVE_HUMBLE_SIZE='310000' - -ARCHIVE_HUMBLE_OLD5='MiniMetro-release-39-linux.tar.gz' -ARCHIVE_HUMBLE_OLD5_MD5='3e7afefbcc68b6295821394e31f5e48b' -ARCHIVE_HUMBLE_OLD5_VERSION='1.39-humble' -ARCHIVE_HUMBLE_OLD5_SIZE='320000' - -ARCHIVE_HUMBLE_OLD4='MiniMetro-release-38-linux.tar.gz' -ARCHIVE_HUMBLE_OLD4_MD5='1535053549257fd3139a46ed91c193a4' -ARCHIVE_HUMBLE_OLD4_VERSION='1.38-humble181120' -ARCHIVE_HUMBLE_OLD4_SIZE='320000' - -ARCHIVE_HUMBLE_OLD3='MiniMetro-release-37a-linux.tar.gz' -ARCHIVE_HUMBLE_OLD3_MD5='879d12ce7255feebf7406f65519112dd' -ARCHIVE_HUMBLE_OLD3_VERSION='1.37a-humble180913' -ARCHIVE_HUMBLE_OLD3_SIZE='310000' - -ARCHIVE_HUMBLE_OLD2='MiniMetro-release-37-linux.tar.gz' -ARCHIVE_HUMBLE_OLD2_MD5='0ee6efa77a16e7775253334640b6d20a' -ARCHIVE_HUMBLE_OLD2_VERSION='1.37-humble1' -ARCHIVE_HUMBLE_OLD2_SIZE='310000' - -ARCHIVE_HUMBLE_OLD1='MiniMetro-release-36b-linux.tar.gz' -ARCHIVE_HUMBLE_OLD1_MD5='5c6b16404cd0c3fc00be295721ec7bdd' -ARCHIVE_HUMBLE_OLD1_VERSION='1.36b-humble180605' -ARCHIVE_HUMBLE_OLD1_SIZE='310000' - -ARCHIVE_HUMBLE_OLD0='MiniMetro-gamma35b-linux.tar.gz' -ARCHIVE_HUMBLE_OLD0_MD5='5548397ea5eddd915aa33247a38dad74' -ARCHIVE_HUMBLE_OLD0_VERSION='1.35b-humble1' -ARCHIVE_HUMBLE_OLD0_SIZE='310000' +ARCHIVES_LIST=' +ARCHIVE_HUMBLE_6 +ARCHIVE_HUMBLE_5 +ARCHIVE_HUMBLE_4 +ARCHIVE_HUMBLE_3 +ARCHIVE_HUMBLE_2 +ARCHIVE_HUMBLE_1 +ARCHIVE_HUMBLE_0' + +ARCHIVE_HUMBLE_6='MiniMetro-release-41-linux.tar.gz' +ARCHIVE_HUMBLE_6_URL='https://www.humblebundle.com/store/mini-metro' +ARCHIVE_HUMBLE_6_MD5='01f6f15ba835e1c54e52df90ff890408' +ARCHIVE_HUMBLE_6_VERSION='1.41-humble' +ARCHIVE_HUMBLE_6_SIZE='310000' + +ARCHIVE_HUMBLE_5='MiniMetro-release-39-linux.tar.gz' +ARCHIVE_HUMBLE_5_MD5='3e7afefbcc68b6295821394e31f5e48b' +ARCHIVE_HUMBLE_5_VERSION='1.39-humble' +ARCHIVE_HUMBLE_5_SIZE='310000' + +ARCHIVE_HUMBLE_4='MiniMetro-release-38-linux.tar.gz' +ARCHIVE_HUMBLE_4_MD5='1535053549257fd3139a46ed91c193a4' +ARCHIVE_HUMBLE_4_VERSION='1.38-humble181120' +ARCHIVE_HUMBLE_4_SIZE='310000' + +ARCHIVE_HUMBLE_3='MiniMetro-release-37a-linux.tar.gz' +ARCHIVE_HUMBLE_3_MD5='879d12ce7255feebf7406f65519112dd' +ARCHIVE_HUMBLE_3_VERSION='1.37a-humble180913' +ARCHIVE_HUMBLE_3_SIZE='310000' + +ARCHIVE_HUMBLE_2='MiniMetro-release-37-linux.tar.gz' +ARCHIVE_HUMBLE_2_MD5='0ee6efa77a16e7775253334640b6d20a' +ARCHIVE_HUMBLE_2_VERSION='1.37-humble1' +ARCHIVE_HUMBLE_2_SIZE='310000' + +ARCHIVE_HUMBLE_1='MiniMetro-release-36b-linux.tar.gz' +ARCHIVE_HUMBLE_1_MD5='5c6b16404cd0c3fc00be295721ec7bdd' +ARCHIVE_HUMBLE_1_VERSION='1.36b-humble180605' +ARCHIVE_HUMBLE_1_SIZE='310000' + +ARCHIVE_HUMBLE_0='MiniMetro-gamma35b-linux.tar.gz' +ARCHIVE_HUMBLE_0_MD5='5548397ea5eddd915aa33247a38dad74' +ARCHIVE_HUMBLE_0_VERSION='1.35b-humble1' +ARCHIVE_HUMBLE_0_SIZE='310000' ARCHIVE_GAME_BIN32_PATH='.' -ARCHIVE_GAME_BIN32_FILES='Mini?Metro.x86 Mini?Metro_Data/*/x86' +ARCHIVE_GAME_BIN32_FILES='Mini?Metro.x86 Mini?Metro_Data/Mono/x86 Mini?Metro_Data/Plugins/x86' ARCHIVE_GAME_BIN64_PATH='.' -ARCHIVE_GAME_BIN64_FILES='Mini?Metro.x86_64 Mini?Metro_Data/*/x86_64' +ARCHIVE_GAME_BIN64_FILES='Mini?Metro.x86_64 Mini?Metro_Data/Mono/x86_64 Mini?Metro_Data/Plugins/x86_64' ARCHIVE_GAME_DATA_PATH='.' ARCHIVE_GAME_DATA_FILES='Mini?Metro_Data' @@ -91,12 +100,14 @@ DATA_DIRS='./logs' APP_MAIN_TYPE='native' -APP_MAIN_PRERUN='export LANG=C' +APP_MAIN_PRERUN='# Work around Unity3D poor support for non-US locales +export LANG=C' APP_MAIN_EXE_BIN32='Mini Metro.x86' APP_MAIN_EXE_BIN64='Mini Metro.x86_64' +APP_MAIN_ICON='Mini Metro_Data/Resources/UnityPlayer.png' +# Use a per-session dedicated file for logs # shellcheck disable=SC2016 APP_MAIN_OPTIONS='-logFile ./logs/$(date +%F-%R).log' -APP_MAIN_ICON='Mini Metro_Data/Resources/UnityPlayer.png' PACKAGES_LIST='PKG_BIN32 PKG_BIN64 PKG_DATA' @@ -147,6 +158,14 @@ extract_data_from "$SOURCE_ARCHIVE" prepare_package_layout + +# Get game icon + +PKG='PKG_DATA' +icons_get_from_package 'APP_MAIN' + +# Clean up temporary files + rm --recursive "$PLAYIT_WORKDIR/gamedata" # Write launchers @@ -157,10 +176,7 @@ # Build package -PKG='PKG_DATA' -icons_linking_postinst 'APP_MAIN' -write_metadata 'PKG_DATA' -write_metadata 'PKG_BIN32' 'PKG_BIN64' +write_metadata build_pkg # Clean up diff -Nru play.it-2.12.0/play.it-2/games/play-mirrors-edge.sh play.it-2.12.1/play.it-2/games/play-mirrors-edge.sh --- play.it-2.12.0/play.it-2/games/play-mirrors-edge.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-mirrors-edge.sh 2020-11-25 15:14:43.000000000 +0000 @@ -1,4 +1,4 @@ -#!/bin/sh -e +#!/bin/sh set -o errexit ### @@ -30,38 +30,69 @@ ### # Mirror’s Edge -# build native Linux packages from the original installers -# send your bug reports to vv221@dotslashplay.it +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it ### -script_version=20180224.1 +script_version=20200821.4 # Set game-specific variables GAME_ID='mirrors-edge' -# shellcheck disable=SC1112 -GAME_NAME='Mirror’s Edge' +GAME_NAME='Mirrorʼs Edge' -ARCHIVES_LIST='ARCHIVE_GOG' - -ARCHIVE_GOG='setup_mirrors_edge_2.0.0.3.exe' -ARCHIVE_GOG_URL='https://www.gog.com/game/mirrors_edge' -ARCHIVE_GOG_MD5='89381d67169f5c6f8f300e172a64f99c' -ARCHIVE_GOG_SIZE='7700000' -ARCHIVE_GOG_VERSION='1.0-gog2.0.0.3' -ARCHIVE_GOG_TYPE='rar' -ARCHIVE_GOG_PART1='setup_mirrors_edge_2.0.0.3-1.bin' -ARCHIVE_GOG_PART1_MD5='406b99108e1edd17fc60435d1f2c27f9' -ARCHIVE_GOG_PART1_TYPE='rar' -ARCHIVE_GOG_PART2='setup_mirrors_edge_2.0.0.3-2.bin' -ARCHIVE_GOG_PART2_MD5='18f2bd62201904c8e98a4b805a90ab2d' -ARCHIVE_GOG_PART2_TYPE='rar' - -ARCHIVE_GAME_BIN_PATH='game' -ARCHIVE_GAME_BIN_FILES='./binaries ./engine' - -ARCHIVE_GAME_DATA_PATH='game' -ARCHIVE_GAME_DATA_FILES='./language_setup.ini ./me_icon.ico ./tdgame' +ARCHIVES_LIST=' +ARCHIVE_GOG_0 +ARCHIVE_GOG_RAR_0' + +ARCHIVE_GOG_0='setup_mirrors_edge_1.01_(40566).exe' +ARCHIVE_GOG_0_MD5='f0faffb76a2b46c3aca8342265a5f41b' +ARCHIVE_GOG_0_TYPE='innosetup' +ARCHIVE_GOG_0_URL='https://www.gog.com/game/mirrors_edge' +ARCHIVE_GOG_0_SIZE='12000000' +ARCHIVE_GOG_0_VERSION='1.01-gog40566' +ARCHIVE_GOG_0_PART1='setup_mirrors_edge_1.01_(40566)-1.bin' +ARCHIVE_GOG_0_PART1_MD5='cdfea6d6412de910eae6748eeb6af54e' +ARCHIVE_GOG_0_PART1_TYPE='innosetup' +ARCHIVE_GOG_0_PART2='setup_mirrors_edge_1.01_(40566)-2.bin' +ARCHIVE_GOG_0_PART2_MD5='6b4a66c9ac31c8c2f4e647957c64370a' +ARCHIVE_GOG_0_PART2_TYPE='innosetup' +ARCHIVE_GOG_0_PART3='setup_mirrors_edge_1.01_(40566)-3.bin' +ARCHIVE_GOG_0_PART3_MD5='8529e17c8faa54be07219106ffe00774' +ARCHIVE_GOG_0_PART3_TYPE='innosetup' + +ARCHIVE_GOG_RAR_0='setup_mirrors_edge_2.0.0.3.exe' +ARCHIVE_GOG_RAR_0_URL='https://www.gog.com/game/mirrors_edge' +ARCHIVE_GOG_RAR_0_MD5='89381d67169f5c6f8f300e172a64f99c' +ARCHIVE_GOG_RAR_0_SIZE='7700000' +ARCHIVE_GOG_RAR_0_VERSION='1.0-gog2.0.0.3' +ARCHIVE_GOG_RAR_0_TYPE='rar' +ARCHIVE_GOG_RAR_0_PART1='setup_mirrors_edge_2.0.0.3-1.bin' +ARCHIVE_GOG_RAR_0_PART1_MD5='406b99108e1edd17fc60435d1f2c27f9' +ARCHIVE_GOG_RAR_0_PART1_TYPE='rar' +ARCHIVE_GOG_RAR_0_PART2='setup_mirrors_edge_2.0.0.3-2.bin' +ARCHIVE_GOG_RAR_0_PART2_MD5='18f2bd62201904c8e98a4b805a90ab2d' +ARCHIVE_GOG_RAR_0_PART2_TYPE='rar' + +ARCHIVE_GAME_BIN_PATH='.' +ARCHIVE_GAME_BIN_FILES='binaries engine' +# Keep compatibility with old archives +ARCHIVE_GAME_BIN_PATH_GOG_RAR='game' + +ARCHIVE_GAME_L10N_PATH='.' +ARCHIVE_GAME_L10N_FILES='tdgame/localization tdgame/cookedpc/audio/??? tdgame/cookedpc/startup_???.upk tdgame/cookedpc/ts_loc_???.upk tdgame/cookedpc/ui/ui_fonts_final_???.upk tdgame/cookedpc/maps/sp??/*_loc_???.upk' +# Keep compatibility with old archives +ARCHIVE_GAME_L10N_PATH_GOG_RAR='game' + +ARCHIVE_GAME_MAPS_PATH='.' +ARCHIVE_GAME_MAPS_FILES='tdgame/cookedpc/maps' +# Keep compatibility with old archives +ARCHIVE_GAME_MAPS_PATH_GOG_RAR='game' + +ARCHIVE_GAME_DATA_PATH='.' +ARCHIVE_GAME_DATA_FILES='me_icon.ico tdgame' +# Keep compatibility with old archives +ARCHIVE_GAME_DATA_PATH_GOG_RAR='game' CONFIG_DIRS='./tdgame/config' DATA_DIRS='./tdgame/savefiles' @@ -71,64 +102,77 @@ APP_MAIN_TYPE='wine' APP_MAIN_EXE='binaries/mirrorsedge.exe' APP_MAIN_ICON='me_icon.ico' -APP_MAIN_ICON_RES='16 32 48 64 256' -PACKAGES_LIST='PKG_BIN PKG_DATA' +PACKAGES_LIST='PKG_BIN PKG_L10N PKG_MAPS PKG_DATA' + +PKG_L10N_ID="${GAME_ID}-l10n" +PKG_L10N_DESCRIPTION='localizations' + +PKG_MAPS_ID="${GAME_ID}-maps" +PKG_MAPS_DESCRIPTION='maps' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' PKG_BIN_ARCH='32' -PKG_BIN_DEPS="$PKG_DATA_ID wine winetricks" +PKG_BIN_DEPS="$PKG_L10N_ID $PKG_MAPS_ID $PKG_DATA_ID wine winetricks" # Load common functions -target_version='2.5' +target_version='2.11' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done fi -#shellcheck source=play.it-2/lib/libplayit2.sh +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" -# Check that all parts of the installer are present - -ARCHIVE_MAIN="$ARCHIVE" -set_archive 'ARCHIVE_PART1' 'ARCHIVE_GOG_PART1' -[ "$ARCHIVE_PART1" ] || set_archive_error_not_found 'ARCHIVE_GOG_PART1' -set_archive 'ARCHIVE_PART2' 'ARCHIVE_GOG_PART2' -[ "$ARCHIVE_PART2" ] || set_archive_error_not_found 'ARCHIVE_GOG_PART2' -ARCHIVE="$ARCHIVE_MAIN" - # Extract game data -ln --symbolic "$(readlink --canonicalize "$ARCHIVE_PART1")" "$PLAYIT_WORKDIR/$GAME_ID.r00" -ln --symbolic "$(readlink --canonicalize "$ARCHIVE_PART2")" "$PLAYIT_WORKDIR/$GAME_ID.r01" -extract_data_from "$PLAYIT_WORKDIR/$GAME_ID.r00" -tolower "$PLAYIT_WORKDIR/gamedata" - -for PKG in $PACKAGES_LIST; do - organize_data "GAME_${PKG#PKG_}" "$PATH_GAME" -done +case "$ARCHIVE" in + ('ARCHIVE_GOG_RAR_'*) + ln --symbolic "$(readlink --canonicalize "$SOURCE_ARCHIVE_PART1")" "$PLAYIT_WORKDIR/$GAME_ID.r00" + ln --symbolic "$(readlink --canonicalize "$SOURCE_ARCHIVE_PART2")" "$PLAYIT_WORKDIR/$GAME_ID.r01" + extract_data_from "$PLAYIT_WORKDIR/$GAME_ID.r00" + tolower "$PLAYIT_WORKDIR/gamedata" + ;; + (*) + extract_data_from "$SOURCE_ARCHIVE" + ;; +esac +prepare_package_layout + +# Extract game icons PKG='PKG_DATA' -extract_and_sort_icons_from 'APP_MAIN' +icons_get_from_package 'APP_MAIN' + +# Clean up temporary files rm --recursive "$PLAYIT_WORKDIR/gamedata" # Write launchers PKG='PKG_BIN' -write_launcher 'APP_MAIN' +launchers_write 'APP_MAIN' # Build package diff -Nru play.it-2.12.0/play.it-2/games/play-mon-cuties-for-all.sh play.it-2.12.1/play.it-2/games/play-mon-cuties-for-all.sh --- play.it-2.12.0/play.it-2/games/play-mon-cuties-for-all.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-mon-cuties-for-all.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,152 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2016-2020, Mopi +# 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. +### + +### +# Mon-cuties for All +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20200925.1 + +# Set game-specific variables + +GAME_ID='mon-cuties-for-all' +GAME_NAME='Mon-cuties for All' + +ARCHIVES_LIST=' +ARCHIVE_ITCH_0' + +ARCHIVE_ITCH_0='Mon-cuties-0.5-pc.zip' +ARCHIVE_ITCH_0_MD5='5100ee55608ea481ee820e12f6bda4c9' +ARCHIVE_ITCH_0_URL='https://reineworks.itch.io/moncuties-for-all' +ARCHIVE_ITCH_0_SIZE='440000' +ARCHIVE_ITCH_0_VERSION='0.5-itch1' +ARCHIVE_ITCH_0_TYPE='zip' + +ARCHIVE_DOC_DATA_PATH='Mon-cuties-0.5-pc' +ARCHIVE_DOC_DATA_FILES='README.html' + +ARCHIVE_GAME_BIN32_PATH='Mon-cuties-0.5-pc' +ARCHIVE_GAME_BIN32_FILES='lib/linux-i686 Mon-cuties.sh' + +ARCHIVE_GAME_BIN64_PATH='Mon-cuties-0.5-pc' +ARCHIVE_GAME_BIN64_FILES='lib/linux-x86_64' + +ARCHIVE_GAME_DATA_PATH='Mon-cuties-0.5-pc' +ARCHIVE_GAME_DATA_FILES='lib/pythonlib2.7 game Mon-cuties.py renpy' + +DATA_DIRS='game/saves' + +APP_MAIN_TYPE='native' +APP_MAIN_EXE='Mon-cuties.sh' +APP_MAIN_ICON='Mon-cuties-0.5-pc/Mon-cuties.exe' + +PACKAGES_LIST='PKG_BIN32 PKG_BIN64 PKG_DATA' + +PKG_DATA_ID="${GAME_ID}-data" +PKG_DATA_DESCRIPTION='data' + +PKG_BIN32_ARCH='32' +PKG_BIN32_DEPS="$PKG_DATA_ID glibc libstdc++" + +PKG_BIN64_ARCH='64' +PKG_BIN64_DEPS="$PKG_BIN32_DEPS" + +# Load common functions + +target_version='2.12' + +if [ -z "$PLAYIT_LIB2" ]; then + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +prepare_package_layout + +# Copy launching script between the binaries packages + +LAUNCHER_SOURCE="${PKG_BIN32_PATH}${PATH_GAME}/$APP_MAIN_EXE" +LAUNCHER_DESTINATION="${PKG_BIN64_PATH}${PATH_GAME}/$APP_MAIN_EXE" +mkdir --parents "$(dirname "$LAUNCHER_DESTINATION")" +cp "$LAUNCHER_SOURCE" "$LAUNCHER_DESTINATION" + +# Get icon + +PKG='PKG_DATA' +icons_get_from_workdir 'APP_MAIN' + +# Clean up temporary directories + +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Write launchers + +for PKG in 'PKG_BIN32' 'PKG_BIN64'; do + launchers_write 'APP_MAIN' +done + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-monkey-island-4.sh play.it-2.12.1/play.it-2/games/play-monkey-island-4.sh --- play.it-2.12.0/play.it-2/games/play-monkey-island-4.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-monkey-island-4.sh 2020-11-25 15:14:43.000000000 +0000 @@ -2,8 +2,8 @@ set -o errexit ### -# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec -# Copyright (c) 2020, macaron +# Copyright (c) 2015-2020, Antoine Le Gonidec +# Copyright (c) 2020, macaron # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -35,7 +35,7 @@ # send your bug reports to contact@dotslashplay.it ### -script_version=20200710.2 +script_version=20201016.1 # Set game-specific variables @@ -64,31 +64,48 @@ ARCHIVE_GOG_FR_0_PART1_MD5='c5bf233f09cca2a8e33d78d25cf58329' ARCHIVE_GOG_FR_0_PART1_TYPE='innosetup' +ARCHIVE_RESIDUALVM_PATCH_EN='MonkeyUpdate.exe' +ARCHIVE_RESIDUALVM_PATCH_EN_URL='https://www.residualvm.org/downloads/#extras' +ARCHIVE_RESIDUALVM_PATCH_EN_MD5='7c7dbd2349d49e382a2dea40bed448e0' +ARCHIVE_RESIDUALVM_PATCH_EN_TYPE='file' + +ARCHIVE_RESIDUALVM_PATCH_FR='MonkeyUpdate_FRA.exe' +ARCHIVE_RESIDUALVM_PATCH_FR_URL='https://www.residualvm.org/downloads/#extras' +ARCHIVE_RESIDUALVM_PATCH_FR_MD5='cc5ff3bb8f78a0eb4b8e0feb9cdd2e87' +ARCHIVE_RESIDUALVM_PATCH_FR_TYPE='file' + ARCHIVE_DOC_L10N_PATH='.' ARCHIVE_DOC_L10N_FILES='*.pdf *.txt' -ARCHIVE_GAME_BIN_PATH='.' -ARCHIVE_GAME_BIN_FILES='*.asi *.dll *.exe *.flt' +ARCHIVE_GAME0_BIN_WINE_PATH='.' +ARCHIVE_GAME0_BIN_WINE_FILES='*.asi *.dll *.exe *.flt' + +ARCHIVE_GAME1_BIN_WINE_PATH='__support/save' +ARCHIVE_GAME1_BIN_WINE_FILES='saves' + +ARCHIVE_GAME_BIN_RESIDUALVM_PATH='.' +ARCHIVE_GAME_BIN_RESIDUALVM_FILES='MonkeyUpdate*.exe' ARCHIVE_GAME_L10N_PATH='.' ARCHIVE_GAME_L10N_FILES='movies art???.m4b i9n.m4b lip.m4b voice???.m4b' -ARCHIVE_GAME0_DATA_PATH='.' -ARCHIVE_GAME0_DATA_FILES='textures local.m4b patch.m4b sfx.m4b' - -ARCHIVE_GAME1_DATA_PATH='__support/save' -ARCHIVE_GAME1_DATA_FILES='saves' +ARCHIVE_GAME_DATA_PATH='.' +ARCHIVE_GAME_DATA_FILES='textures local.m4b patch.m4b sfx.m4b' CONFIG_FILES='saves/efmi.cfg' DATA_FILES='saves/efmi*.gsv' APP_REGEDIT='install.reg' -APP_MAIN_TYPE='wine' -APP_MAIN_EXE='monkey4.exe' -APP_MAIN_ICON='monkey4.exe' +APP_WINE_TYPE='wine' +APP_WINE_EXE='monkey4.exe' +APP_WINE_ICON='monkey4.exe' # This icon is actually shared for both WINE and ResidualVM launchers -PACKAGES_LIST='PKG_BIN PKG_L10N PKG_DATA' +APP_RESIDUALVM_TYPE='residualvm' +APP_RESIDUALVM_RESIDUALID='monkey4' + +PACKAGES_LIST='PKG_BIN_WINE PKG_L10N PKG_DATA' +PACKAGES_LIST_RESIDUALVM="PKG_BIN_RESIDUALVM $PACKAGES_LIST" # architecture-independent common data package PKG_DATA_ID="${GAME_ID}-data" @@ -106,32 +123,39 @@ PKG_L10N_ID_GOG_FR="${PKG_L10N_ID}-fr" PKG_L10N_DESCRIPTION_GOG_FR='French localization' -# binaries package — common properties +# binaries packages — common properties PKG_BIN_ID="$GAME_ID" -PKG_BIN_PROVIDE="$PKG_BIN_ID" -PKG_BIN_ARCH='32' -PKG_BIN_DEPS="$PKG_DATA_ID $PKG_L10N_ID wine" - -# binaries package — English version -PKG_BIN_ID_GOG_EN="${PKG_BIN_ID}-en" -PKG_BIN_DESCRIPTION_GOG_EN='English version' - -# binaries package — French version -PKG_BIN_ID_GOG_FR="${PKG_BIN_ID}-fr" -PKG_BIN_DESCRIPTION_GOG_FR='French version' + +# binaries package — WINE — common properties +PKG_BIN_WINE_ID="${PKG_BIN_ID}-wine" +PKG_BIN_WINE_PROVIDE="$PKG_BIN_ID" +PKG_BIN_WINE_ARCH='32' +PKG_BIN_WINE_DEPS="$PKG_DATA_ID $PKG_L10N_ID wine" + +# binaries package — WINE — English version +PKG_BIN_WINE_ID_GOG_EN="${PKG_BIN_WINE_ID}-en" +PKG_BIN_WINE_DESCRIPTION_GOG_EN='English version' + +# binaries package — WINE — French version +PKG_BIN_WINE_ID_GOG_FR="${PKG_BIN_WINE_ID}-fr" +PKG_BIN_WINE_DESCRIPTION_GOG_FR='French version' + +# binaries package — ResidualVM +PKG_BIN_RESIDUALVM_ID="${PKG_BIN_ID}-residualvm" +PKG_BIN_RESIDUALVM_PROVIDE="$PKG_BIN_ID" +PKG_BIN_RESIDUALVM_DEPS="$PKG_DATA_ID residualvm" # Load common functions -target_version='2.11' +target_version='2.12' if [ -z "$PLAYIT_LIB2" ]; then - : "${XDG_DATA_HOME:="$HOME/.local/share"}" - for path in\ - "$PWD"\ - "$XDG_DATA_HOME/play.it"\ - '/usr/local/share/games/play.it'\ - '/usr/local/share/play.it'\ - '/usr/share/games/play.it'\ + for path in \ + "$PWD" \ + "${XDG_DATA_HOME:="$HOME/.local/share"}/play.it" \ + '/usr/local/share/games/play.it' \ + '/usr/local/share/play.it' \ + '/usr/share/games/play.it' \ '/usr/share/play.it' do if [ -e "$path/libplayit2.sh" ]; then @@ -148,15 +172,41 @@ # shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" +# Check presence of patch required by ResidualVM + +### +# TODO +# A warning should be displayed if the patch required for ResidualVM support is missing +### +ARCHIVE_MAIN="$ARCHIVE" +case "$ARCHIVE_MAIN" in + ('ARCHIVE_GOG_EN'*) + ARCHIVE_PATCH='ARCHIVE_RESIDUALVM_PATCH_EN' + ;; + ('ARCHIVE_GOG_FR'*) + ARCHIVE_PATCH='ARCHIVE_RESIDUALVM_PATCH_FR' + ;; +esac +archive_set 'ARCHIVE_RESIDUALVM_PATCH' "$ARCHIVE_PATCH" +if [ -n "$ARCHIVE_RESIDUALVM_PATCH" ]; then + PACKAGES_LIST="$PACKAGES_LIST_RESIDUALVM" + set_temp_directories $PACKAGES_LIST +fi +ARCHIVE="$ARCHIVE_MAIN" + # Extract game data extract_data_from "$SOURCE_ARCHIVE" prepare_package_layout +if [ -n "$ARCHIVE_RESIDUALVM_PATCH" ]; then + cp "$ARCHIVE_RESIDUALVM_PATCH" "$PLAYIT_WORKDIR/gamedata" + prepare_package_layout 'PKG_BIN_RESIDUALVM' +fi # Extract icons -PKG='PKG_BIN' -icons_get_from_package 'APP_MAIN' +PKG='PKG_BIN_WINE' +icons_get_from_package 'APP_WINE' icons_move_to 'PKG_DATA' # Clean up temporary files @@ -165,7 +215,7 @@ # Register install path -cat > "${PKG_BIN_PATH}${PATH_GAME}/install.reg" << EOF +cat > "${PKG_BIN_WINE_PATH}${PATH_GAME}/install.reg" << EOF Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\\Software\\LucasArts Entertainment Company LLC\\Monkey4\\Retail] @@ -174,8 +224,13 @@ # Write launchers -PKG='PKG_BIN' -launchers_write 'APP_MAIN' +PKG='PKG_BIN_WINE' +launchers_write 'APP_WINE' + +if [ -n "$ARCHIVE_RESIDUALVM_PATCH" ]; then + PKG='PKG_BIN_RESIDUALVM' + launchers_write 'APP_RESIDUALVM' +fi # Build package @@ -188,6 +243,12 @@ # Print instructions -print_instructions +printf '\n' +if [ -n "$ARCHIVE_RESIDUALVM_PATCH" ]; then + printf 'ResidualVM:' + print_instructions 'PKG_DATA' 'PKG_L10N' 'PKG_BIN_RESIDUALVM' +fi +printf 'WINE:' +print_instructions 'PKG_DATA' 'PKG_L10N' 'PKG_BIN_WINE' exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-monstrata-fracture.sh play.it-2.12.1/play.it-2/games/play-monstrata-fracture.sh --- play.it-2.12.0/play.it-2/games/play-monstrata-fracture.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-monstrata-fracture.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,165 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine Le Gonidec +# Copyright (c) 2016-2020, Mopi +# 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. +### + +### +# Monstrata Fracture +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20201019.1 + +# Set game-specific variables + +GAME_ID='monstrata-fracture' +GAME_NAME='Monstrata Fracture' + +ARCHIVES_LIST=' +ARCHIVE_ITCH_1 +ARCHIVE_ITCH_0' + +ARCHIVE_ITCH_1='monstrata-fracture-win-linux.zip' +ARCHIVE_ITCH_1_URL='https://astralore.itch.io/monstrata-fracture' +ARCHIVE_ITCH_1_MD5='9839d978298251f296febd5bc9a9b550' +ARCHIVE_ITCH_1_SIZE='250000' +ARCHIVE_ITCH_1_VERSION='1.2.11-itch' +ARCHIVE_ITCH_1_TYPE='zip' + +ARCHIVE_ITCH_0='monstrata-fracture-win-osx-linux.zip' +ARCHIVE_ITCH_0_URL='https://astralore.itch.io/monstrata-fracture' +ARCHIVE_ITCH_0_MD5='7fa34744e2ff3ad7b745909ebfea51fc' +ARCHIVE_ITCH_0_SIZE='270000' +ARCHIVE_ITCH_0_VERSION='1.2.11-itch' +ARCHIVE_ITCH_0_TYPE='zip' + +ARCHIVE_DOC_DATA_PATH_ITCH_1='Monstrata-1.2.11-pc' +ARCHIVE_DOC_DATA_PATH_ITCH_0='Monstrata-1.2.11-market' +ARCHIVE_DOC_DATA_FILES='credits.txt' + +ARCHIVE_GAME_BIN32_PATH_ITCH_1='Monstrata-1.2.11-pc' +ARCHIVE_GAME_BIN32_PATH_ITCH_0='Monstrata-1.2.11-market' +ARCHIVE_GAME_BIN32_FILES='lib/linux-i686 Monstrata.sh' + +ARCHIVE_GAME_BIN64_PATH_ITCH_1='Monstrata-1.2.11-pc' +ARCHIVE_GAME_BIN64_PATH_ITCH_0='Monstrata-1.2.11-market' +ARCHIVE_GAME_BIN64_FILES='lib/linux-x86_64' + +ARCHIVE_GAME_DATA_PATH_ITCH_1='Monstrata-1.2.11-pc' +ARCHIVE_GAME_DATA_PATH_ITCH_0='Monstrata-1.2.11-market' +ARCHIVE_GAME_DATA_FILES='lib/pythonlib2.7 game Monstrata.py renpy' + +APP_MAIN_TYPE='native' +APP_MAIN_EXE='Monstrata.sh' +APP_MAIN_ICON_ITCH_1='Monstrata-1.2.11-pc/Monstrata.exe' +APP_MAIN_ICON_ITCH_0='Monstrata-1.2.11-market/Monstrata.exe' + +PACKAGES_LIST='PKG_BIN32 PKG_BIN64 PKG_DATA' + +PKG_DATA_ID="${GAME_ID}-data" +PKG_DATA_DESCRIPTION='data' + +PKG_BIN32_ARCH='32' +PKG_BIN32_DEPS="$PKG_DATA_ID glibc libstdc++" + +PKG_BIN64_ARCH='64' +PKG_BIN64_DEPS="$PKG_BIN32_DEPS" + +# Load common functions + +target_version='2.12' + +if [ -z "$PLAYIT_LIB2" ]; then + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +prepare_package_layout + +# Copy launching script between the binaries packages + +LAUNCHER_SOURCE="${PKG_BIN32_PATH}${PATH_GAME}/$APP_MAIN_EXE" +LAUNCHER_DESTINATION="${PKG_BIN64_PATH}${PATH_GAME}/$APP_MAIN_EXE" +mkdir --parents "$(dirname "$LAUNCHER_DESTINATION")" +cp "$LAUNCHER_SOURCE" "$LAUNCHER_DESTINATION" + +# Get icon + +use_archive_specific_value 'APP_MAIN_ICON' + +PKG='PKG_DATA' +icons_get_from_workdir 'APP_MAIN' + +# Clean up temporary directories + +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Write launchers + +for PKG in 'PKG_BIN32' 'PKG_BIN64'; do + launchers_write 'APP_MAIN' +done + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-mousecraft.sh play.it-2.12.1/play.it-2/games/play-mousecraft.sh --- play.it-2.12.0/play.it-2/games/play-mousecraft.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-mousecraft.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -90,16 +90,25 @@ target_version='2.3' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-my-brother-rabbit.sh play.it-2.12.1/play.it-2/games/play-my-brother-rabbit.sh --- play.it-2.12.0/play.it-2/games/play-my-brother-rabbit.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-my-brother-rabbit.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,152 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2016-2020, Mopi +# 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. +### + +### +# My Brother Rabbit +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20201006.3 + +# Set game-specific variables + +GAME_ID='my-brother-rabbit' +GAME_NAME='My Brother Rabbit' + +ARCHIVES_LIST=' +ARCHIVE_GOG_0' + +ARCHIVE_GOG_0='my_brother_rabbit_gog_2_23945.sh' +ARCHIVE_GOG_0_URL='https://www.gog.com/game/my_brother_rabbit' +ARCHIVE_GOG_0_MD5='e8dd42bb3ac4e10c56cd5da36cb60c99' +ARCHIVE_GOG_0_SIZE='870000' +ARCHIVE_GOG_0_VERSION='2-gog23945' +ARCHIVE_GOG_0_TYPE='mojosetup' + +ARCHIVE_DOC_DATA_PATH='data/noarch/docs' +ARCHIVE_DOC_DATA_FILES='*' + +ARCHIVE_GAME_BIN32_PATH='data/noarch/game' +ARCHIVE_GAME_BIN32_FILES='MyBrotherRabbit_i386' + +ARCHIVE_GAME_BIN64_PATH='data/noarch/game' +ARCHIVE_GAME_BIN64_FILES='MyBrotherRabbit_amd64' + +ARCHIVE_GAME_DATA_PATH='data/noarch/game' +ARCHIVE_GAME_DATA_FILES='game.json game.sparkconfig linux' + +CONFIG_FILES='./game.sparkconfig' + +APP_MAIN_TYPE='native' +APP_MAIN_EXE_BIN32='MyBrotherRabbit_i386' +APP_MAIN_EXE_BIN64='MyBrotherRabbit_amd64' +APP_MAIN_ICON='data/noarch/support/icon.png' + +PACKAGES_LIST='PKG_BIN32 PKG_BIN64 PKG_DATA' + +PKG_DATA_ID="${GAME_ID}-data" +PKG_DATA_DESCRIPTION='data' + +PKG_BIN32_ARCH='32' +PKG_BIN32_DEPS="$PKG_DATA_ID glibc libstdc++ glx" +PKG_BIN32_DEPS_ARCH='lib32-libx11 lib32-libidn11' +PKG_BIN32_DEPS_DEB='libx11-6, libdn11' +PKG_BIN32_DEPS_GENTOO='x11-libs/libX11[abi_x86_32] net-dns/libidn[abi_x86_32]' + +PKG_BIN64_ARCH='64' +PKG_BIN64_DEPS="$PKG_BIN32_DEPS" +PKG_BIN64_DEPS_ARCH='libx11 libidn11' +PKG_BIN64_DEPS_DEB="$PKG_BIN_DEPS_DEB" +PKG_BIN64_DEPS_GENTOO='x11-libs/libX11 net-dns/libidn' + +# Load common functions + +target_version='2.12' + +if [ -z "$PLAYIT_LIB2" ]; then + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +prepare_package_layout + +# Get game icon + +PKG='PKG_DATA' +icons_get_from_workdir 'APP_MAIN' + +# Clean up temporary files + +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Write launchers + +for PKG in 'PKG_BIN32' 'PKG_BIN64'; do + launchers_write 'APP_MAIN' +done + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-neon-drive.sh play.it-2.12.1/play.it-2/games/play-neon-drive.sh --- play.it-2.12.0/play.it-2/games/play-neon-drive.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-neon-drive.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -93,16 +93,25 @@ target_version='2.3' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-neverwinter-nights-1-enhanced-edition.sh play.it-2.12.1/play.it-2/games/play-neverwinter-nights-1-enhanced-edition.sh --- play.it-2.12.0/play.it-2/games/play-neverwinter-nights-1-enhanced-edition.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-neverwinter-nights-1-enhanced-edition.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to contact@dotslashplay.it ### -script_version=20200428.9 +script_version=20201002.4 # Set game-specific variables @@ -42,24 +42,28 @@ GAME_NAME='Neverwinter Nights: Enhanced Edition' ARCHIVES_LIST=' -ARCHIVE_GOG_2 +ARCHIVE_GOG_1 +ARCHIVE_GOG_0 ARCHIVE_GOG_EN_1 ARCHIVE_GOG_FR_1 ARCHIVE_GOG_EN_0 ARCHIVE_GOG_FR_0 ' -ARCHIVE_GOG_2='neverwinter_nights_enhanced_edition_80_8193_9_37029.sh' -ARCHIVE_GOG_2_MD5='fb98f859b5f5516fc7df8b00c7264c07' -ARCHIVE_GOG_2_TYPE='mojosetup' -ARCHIVE_GOG_2_URL='https://www.gog.com/game/neverwinter_nights_enhanced_edition_pack' -ARCHIVE_GOG_2_VERSION='1.80.8193.9-gog37029' -ARCHIVE_GOG_2_SIZE='5000000' - -ARCHIVE_GOG_2_OPTIONAL_L10N_FR='neverwinter_nights_enhanced_edition_french_extras_80_8193_9_37029.sh' -ARCHIVE_GOG_2_OPTIONAL_L10N_FR_MD5='5e0564a161259b003c7dc0f8d8aa743f' -ARCHIVE_GOG_2_OPTIONAL_L10N_FR_TYPE='mojosetup' -ARCHIVE_GOG_2_OPTIONAL_L10N_FR_SIZE='840000' +# Base game archive + +ARCHIVE_GOG_1='neverwinter_nights_enhanced_edition_81_8193_16_41300.sh' +ARCHIVE_GOG_1_MD5='a52646002ab14c452731b0636fdc8278' +ARCHIVE_GOG_1_TYPE='mojosetup' +ARCHIVE_GOG_1_URL='https://www.gog.com/game/neverwinter_nights_enhanced_edition_pack' +ARCHIVE_GOG_1_VERSION='1.81.8193.16-gog41300' +ARCHIVE_GOG_1_SIZE='6200000' + +ARCHIVE_GOG_0='neverwinter_nights_enhanced_edition_80_8193_9_37029.sh' +ARCHIVE_GOG_0_MD5='fb98f859b5f5516fc7df8b00c7264c07' +ARCHIVE_GOG_0_TYPE='mojosetup' +ARCHIVE_GOG_0_VERSION='1.80.8193.9-gog37029' +ARCHIVE_GOG_0_SIZE='5000000' ARCHIVE_GOG_EN_1='neverwinter_nights_enhanced_edition_78_8186_1_32700.sh' ARCHIVE_GOG_EN_1_MD5='4fbd9086c0c355245e2645ecb80eac44' @@ -85,6 +89,25 @@ ARCHIVE_GOG_FR_0_VERSION='1.78.8186-gog25455' ARCHIVE_GOG_FR_0_SIZE='4700000' +# Extra language packs + +ARCHIVE_GOG_1_OPTIONAL_L10N_DE='neverwinter_nights_enhanced_edition_german_extras_81_8193_16_41300.sh' +ARCHIVE_GOG_1_OPTIONAL_L10N_DE_MD5='1e81fcf9d40bcf23dec0a77069222a52' +ARCHIVE_GOG_1_OPTIONAL_L10N_DE_TYPE='mojosetup' +ARCHIVE_GOG_1_OPTIONAL_L10N_DE_URL='https://www.gog.com/game/neverwinter_nights_enhanced_edition_german_extras' +ARCHIVE_GOG_1_OPTIONAL_L10N_DE_SIZE='900000' + +ARCHIVE_GOG_1_OPTIONAL_L10N_FR='neverwinter_nights_enhanced_edition_french_extras_81_8193_16_41300.sh' +ARCHIVE_GOG_1_OPTIONAL_L10N_FR_MD5='1fe0cc196c146834ff186935ae2d3d66' +ARCHIVE_GOG_1_OPTIONAL_L10N_FR_TYPE='mojosetup' +ARCHIVE_GOG_1_OPTIONAL_L10N_FR_URL='https://www.gog.com/game/neverwinter_nights_enhanced_edition_french_extras' +ARCHIVE_GOG_1_OPTIONAL_L10N_FR_SIZE='840000' + +ARCHIVE_GOG_0_OPTIONAL_L10N_FR='neverwinter_nights_enhanced_edition_french_extras_80_8193_9_37029.sh' +ARCHIVE_GOG_0_OPTIONAL_L10N_FR_MD5='5e0564a161259b003c7dc0f8d8aa743f' +ARCHIVE_GOG_0_OPTIONAL_L10N_FR_TYPE='mojosetup' +ARCHIVE_GOG_0_OPTIONAL_L10N_FR_SIZE='840000' + ARCHIVE_DOC_DATA_PATH='data/noarch/game/lang/en/docs' ARCHIVE_DOC_DATA_FILES='*.pdf *.txt' # Keep compatibility with old archives @@ -207,16 +230,15 @@ # Load common functions -target_version='2.11' +target_version='2.12' if [ -z "$PLAYIT_LIB2" ]; then - : "${XDG_DATA_HOME:="$HOME/.local/share"}" - for path in\ - "$PWD"\ - "$XDG_DATA_HOME/play.it"\ - '/usr/local/share/games/play.it'\ - '/usr/local/share/play.it'\ - '/usr/share/games/play.it'\ + for path in \ + "$PWD" \ + "${XDG_DATA_HOME:="$HOME/.local/share"}/play.it" \ + '/usr/local/share/games/play.it' \ + '/usr/local/share/play.it' \ + '/usr/share/games/play.it' \ '/usr/share/play.it' do if [ -e "$path/libplayit2.sh" ]; then @@ -243,9 +265,19 @@ # shellcheck disable=SC2086 set_temp_directories $PACKAGES_LIST -# Load extra archives +# Load extra localization archives + +### +# TODO +# We could display warnings about missing archives +### ARCHIVE_MAIN="$ARCHIVE" +# Extra German localization +if [ -n "$(get_value "${ARCHIVE_MAIN}_OPTIONAL_L10N_DE")" ]; then + set_archive 'ARCHIVE_L10N_DE' "${ARCHIVE_MAIN}_OPTIONAL_L10N_DE" +fi +# Extra French localization if [ -n "$(get_value "${ARCHIVE_MAIN}_OPTIONAL_L10N_FR")" ]; then set_archive 'ARCHIVE_L10N_FR' "${ARCHIVE_MAIN}_OPTIONAL_L10N_FR" fi @@ -254,11 +286,19 @@ # Extract game data extract_data_from "$SOURCE_ARCHIVE" +# Get extra German localization +if [ -n "$ARCHIVE_L10N_DE" ]; then + ( + ARCHIVE='ARCHIVE_L10N_DE' + extract_data_from "$ARCHIVE_L10N_DE" + ) +fi +# Get extra French localization if [ -n "$ARCHIVE_L10N_FR" ]; then - ARCHIVE_MAIN="$ARCHIVE" - ARCHIVE='ARCHIVE_L10N_FR' - extract_data_from "$ARCHIVE_L10N_FR" - ARCHIVE="$ARCHIVE_MAIN" + ( + ARCHIVE='ARCHIVE_L10N_FR' + extract_data_from "$ARCHIVE_L10N_FR" + ) fi prepare_package_layout diff -Nru play.it-2.12.0/play.it-2/games/play-neverwinter-nights.sh play.it-2.12.1/play.it-2/games/play-neverwinter-nights.sh --- play.it-2.12.0/play.it-2/games/play-neverwinter-nights.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-neverwinter-nights.sh 2020-11-25 15:14:43.000000000 +0000 @@ -44,7 +44,7 @@ ARCHIVES_LIST='ARCHIVE_GOG_DE ARCHIVE_GOG_EN ARCHIVE_GOG_ES ARCHIVE_GOG_FR ARCHIVE_GOG_PL' ARCHIVE_GOG_DE='setup_nwn_diamond_german_2.1.0.21.exe' -ARCHIVE_GOG_DE_URL='https://www.gog.com/game/neverwinter_nights_diamond_edition' +ARCHIVE_GOG_DE_URL='https://www.gog.com/game/neverwinter_nights_enhanced_edition_pack' ARCHIVE_GOG_DE_MD5='63a32f4fdb2939e73ac40d80f5798e28' ARCHIVE_GOG_DE_TYPE='rar' ARCHIVE_GOG_DE_SIZE='4400000' @@ -54,7 +54,7 @@ ARCHIVE_GOG_DE_PART1_TYPE='rar' ARCHIVE_GOG_EN='setup_nwn_diamond_2.1.0.21.exe' -ARCHIVE_GOG_EN_URL='https://www.gog.com/game/neverwinter_nights_diamond_edition' +ARCHIVE_GOG_EN_URL='https://www.gog.com/game/neverwinter_nights_enhanced_edition_pack' ARCHIVE_GOG_EN_MD5='cd809b9d22022adb01b0d1d70c5afa8e' ARCHIVE_GOG_EN_TYPE='rar' ARCHIVE_GOG_EN_SIZE='5100000' @@ -64,7 +64,7 @@ ARCHIVE_GOG_EN_PART1_TYPE='rar' ARCHIVE_GOG_ES='setup_nwn_diamond_spanish_2.1.0.21.exe' -ARCHIVE_GOG_ES_URL='https://www.gog.com/game/neverwinter_nights_diamond_edition' +ARCHIVE_GOG_ES_URL='https://www.gog.com/game/neverwinter_nights_enhanced_edition_pack' ARCHIVE_GOG_ES_MD5='70448f984b66a814bda712ecfef5977e' ARCHIVE_GOG_ES_TYPE='rar' ARCHIVE_GOG_ES_SIZE='4400000' @@ -74,7 +74,7 @@ ARCHIVE_GOG_ES_PART1_TYPE='rar' ARCHIVE_GOG_FR='setup_nwn_diamond_french_2.1.0.21.exe' -ARCHIVE_GOG_FR_URL='https://www.gog.com/game/neverwinter_nights_diamond_edition' +ARCHIVE_GOG_FR_URL='https://www.gog.com/game/neverwinter_nights_enhanced_edition_pack' ARCHIVE_GOG_FR_MD5='caadc0f809e10ddf781cacbebd1b25d9' ARCHIVE_GOG_FR_TYPE='rar' ARCHIVE_GOG_FR_SIZE='4300000' @@ -84,7 +84,7 @@ ARCHIVE_GOG_FR_PART1_TYPE='rar' ARCHIVE_GOG_PL='setup_nwn_diamond_polish_2.1.0.21.exe' -ARCHIVE_GOG_PL_URL='https://www.gog.com/game/neverwinter_nights_diamond_edition' +ARCHIVE_GOG_PL_URL='https://www.gog.com/game/neverwinter_nights_enhanced_edition_pack' ARCHIVE_GOG_PL_MD5='5779b5c690984a79c617efc7649e66a3' ARCHIVE_GOG_PL_TYPE='rar' ARCHIVE_GOG_PL_SIZE='4400000' diff -Nru play.it-2.12.0/play.it-2/games/play-night-in-the-woods.sh play.it-2.12.1/play.it-2/games/play-night-in-the-woods.sh --- play.it-2.12.0/play.it-2/games/play-night-in-the-woods.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-night-in-the-woods.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,151 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine Le Gonidec +# Copyright (c) 2016-2020, Mopi +# 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. +### + +### +# Night in the Woods +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20201009.1 + +# Set game-specific variables + +GAME_ID='night-in-the-woods' +GAME_NAME='Night in the Woods' + +ARCHIVES_LIST=' +ARCHIVE_ITCH_0' + +ARCHIVE_ITCH_0='night-in-the-woods-linux.zip' +ARCHIVE_ITCH_0_URL='https://finji.itch.io/night-in-the-woods' +ARCHIVE_ITCH_0_MD5='d51538671aa56a49964984f17a27a69c' +ARCHIVE_ITCH_0_SIZE='6100000' +ARCHIVE_ITCH_0_VERSION='406-itch' +ARCHIVE_ITCH_0_TYPE='zip' + +ARCHIVE_DOC_DATA_PATH='.' +ARCHIVE_DOC_DATA_FILES='README.png' + +ARCHIVE_GAME_BIN32_PATH='.' +ARCHIVE_GAME_BIN32_FILES='Night?in?the?Woods.x86 Night?in?the?Woods_Data/Mono/x86 Night?in?the?Woods_Data/Plugins/x86' + +ARCHIVE_GAME_BIN64_PATH='.' +ARCHIVE_GAME_BIN64_FILES='Night?in?the?Woods.x86_64 Night?in?the?Woods_Data/Mono/x86_64 Night?in?the?Woods_Data/Plugins/x86_64' + +ARCHIVE_GAME_DATA_PATH='.' +ARCHIVE_GAME_DATA_FILES='Night?in?the?Woods_Data' + +DATA_DIRS='./logs' + +APP_MAIN_TYPE='native' +APP_MAIN_PRERUN='# Work around Unity3D poor support for non-US locales +export LANG=C' +APP_MAIN_EXE_BIN32='Night in the Woods.x86' +APP_MAIN_EXE_BIN64='Night in the Woods.x86_64' +APP_MAIN_ICON='Night in the Woods_Data/Resources/UnityPlayer.png' +# Use a per-session dedicated file for logs +# shellcheck disable=SC2016 +APP_MAIN_OPTIONS='-logFile ./logs/$(date +%F-%R).log' + +PACKAGES_LIST='PKG_BIN32 PKG_BIN64 PKG_DATA' + +PKG_DATA_ID="${GAME_ID}-data" +PKG_DATA_DESCRIPTION='data' + +PKG_BIN32_ARCH='32' +PKG_BIN32_DEPS="$PKG_DATA_ID glibc libstdc++" + +PKG_BIN64_ARCH='64' +PKG_BIN64_DEPS="$PKG_BIN32_DEPS" + +# Load common functions + +target_version='2.12' + +if [ -z "$PLAYIT_LIB2" ]; then + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in \ + "$PWD" \ + "${XDG_DATA_HOME:="$HOME/.local/share"}/play.it" \ + '/usr/local/share/games/play.it' \ + '/usr/local/share/play.it' \ + '/usr/share/games/play.it' \ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +prepare_package_layout + +# Get icon + +PKG='PKG_DATA' +icons_get_from_package 'APP_MAIN' + +# Clean up temporary directories + +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Write launchers + +for PKG in 'PKG_BIN32' 'PKG_BIN64'; do + launchers_write 'APP_MAIN' +done + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-nihilumbra.sh play.it-2.12.1/play.it-2/games/play-nihilumbra.sh --- play.it-2.12.0/play.it-2/games/play-nihilumbra.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-nihilumbra.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -81,16 +81,25 @@ target_version='2.1' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-oddworld-abes-oddysee.sh play.it-2.12.1/play.it-2/games/play-oddworld-abes-oddysee.sh --- play.it-2.12.0/play.it-2/games/play-oddworld-abes-oddysee.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-oddworld-abes-oddysee.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to mopi@dotslashplay.it ### -script_version=20180802.1 +script_version=20200918.1 # Set game-specific variables @@ -83,16 +83,25 @@ target_version='2.7' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-one-eyed-lee-and-the-dinner-party.sh play.it-2.12.1/play.it-2/games/play-one-eyed-lee-and-the-dinner-party.sh --- play.it-2.12.0/play.it-2/games/play-one-eyed-lee-and-the-dinner-party.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-one-eyed-lee-and-the-dinner-party.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,147 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2016-2020, Mopi +# 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. +### + +### +# One Eyed Lee and the Dinner Party +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20200925.3 + +# Set game-specific variables + +GAME_ID='one-eyed-lee-and-the-dinner-party' +GAME_NAME='One Eyed Lee and the Dinner Party' + +ARCHIVES_LIST=' +ARCHIVE_ITCH_0' + +ARCHIVE_ITCH_0='One-EyedLeeandtheDinnerParty LINUX.bz2' +ARCHIVE_ITCH_0_MD5='786e5ab1fec14f0319c9c3dd3a746cac' +ARCHIVE_ITCH_0_TYPE='tar' +ARCHIVE_ITCH_0_URL='https://darkchibishadow.itch.io/one-eyed-lee-and-the-dinner-party' +ARCHIVE_ITCH_0_SIZE='520000' +ARCHIVE_ITCH_0_VERSION='1.0-itch1' + +ARCHIVE_GAME_BIN32_PATH='One-EyedLeeandtheDinnerParty-1.0-linux' +ARCHIVE_GAME_BIN32_FILES='lib/linux-i686 One-EyedLeeandtheDinnerParty.sh' + +ARCHIVE_GAME_BIN64_PATH='One-EyedLeeandtheDinnerParty-1.0-linux' +ARCHIVE_GAME_BIN64_FILES='lib/linux-x86_64' + +ARCHIVE_GAME_DATA_PATH='One-EyedLeeandtheDinnerParty-1.0-linux' +ARCHIVE_GAME_DATA_FILES='lib/pythonlib2.7 game One-EyedLeeandtheDinnerParty.py renpy' + +APP_MAIN_TYPE='native' +APP_MAIN_EXE='One-EyedLeeandtheDinnerParty.sh' +APP_MAIN_ICON='game/icon.ico' + +PACKAGES_LIST='PKG_BIN32 PKG_BIN64 PKG_DATA' + +PKG_DATA_ID="${GAME_ID}-data" +PKG_DATA_DESCRIPTION='data' + +PKG_BIN32_ARCH='32' +PKG_BIN32_DEPS="$PKG_DATA_ID glibc libstdc++" + +PKG_BIN64_ARCH='64' +PKG_BIN64_DEPS="$PKG_BIN32_DEPS" + +# Load common functions + +target_version='2.12' + +if [ -z "$PLAYIT_LIB2" ]; then + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +prepare_package_layout + +# Copy launching script between the binaries packages + +LAUNCHER_SOURCE="${PKG_BIN32_PATH}${PATH_GAME}/$APP_MAIN_EXE" +LAUNCHER_DESTINATION="${PKG_BIN64_PATH}${PATH_GAME}/$APP_MAIN_EXE" +mkdir --parents "$(dirname "$LAUNCHER_DESTINATION")" +cp "$LAUNCHER_SOURCE" "$LAUNCHER_DESTINATION" + +# Get icon + +PKG='PKG_DATA' +icons_get_from_package 'APP_MAIN' + +# Clean up temporary directories + +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Write launchers + +for PKG in 'PKG_BIN32' 'PKG_BIN64'; do + launchers_write 'APP_MAIN' +done + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-one-eyed-lee-prologue.sh play.it-2.12.1/play.it-2/games/play-one-eyed-lee-prologue.sh --- play.it-2.12.0/play.it-2/games/play-one-eyed-lee-prologue.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-one-eyed-lee-prologue.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,149 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2016-2020, Mopi +# 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. +### + +### +# One Eyed Lee : Prologue +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20200925.1 + +# Set game-specific variables + +GAME_ID='one-eyed-lee-prologue' +GAME_NAME='One Eyed Lee : Prologue' + +ARCHIVES_LIST=' +ARCHIVE_ITCH_0' + +ARCHIVE_ITCH_0='One-Eyed Lee Prologue PC.zip' +ARCHIVE_ITCH_0_MD5='d3c2ca1ef052cd59dd3619ea2c1cde96' +ARCHIVE_ITCH_0_TYPE='zip' +ARCHIVE_ITCH_0_URL='https://darkchibishadow.itch.io/one-eyed-lee-prologue' +ARCHIVE_ITCH_0_SIZE='350000' +ARCHIVE_ITCH_0_VERSION='1.0-itch1' + +ARCHIVE_GAME_BIN32_PATH='oneeyedleeprologue-1.0-pc' +ARCHIVE_GAME_BIN32_FILES='lib/linux-i686 oneeyedleeprologue.sh' + +ARCHIVE_GAME_BIN64_PATH='oneeyedleeprologue-1.0-pc' +ARCHIVE_GAME_BIN64_FILES='lib/linux-x86_64' + +ARCHIVE_GAME_DATA_PATH='oneeyedleeprologue-1.0-pc' +ARCHIVE_GAME_DATA_FILES='lib/pythonlib2.7 game log.txt oneeyedleeprologue.py renpy' + +DATA_DIRS='game/saves' + +APP_MAIN_TYPE='native' +APP_MAIN_EXE='oneeyedleeprologue.sh' +APP_MAIN_ICON='game/icon.ico' + +PACKAGES_LIST='PKG_BIN32 PKG_BIN64 PKG_DATA' + +PKG_DATA_ID="${GAME_ID}-data" +PKG_DATA_DESCRIPTION='data' + +PKG_BIN32_ARCH='32' +PKG_BIN32_DEPS="$PKG_DATA_ID glibc libstdc++" + +PKG_BIN64_ARCH='64' +PKG_BIN64_DEPS="$PKG_BIN32_DEPS" + +# Load common functions + +target_version='2.12' + +if [ -z "$PLAYIT_LIB2" ]; then + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +prepare_package_layout + +# Copy launching script between the binaries packages + +LAUNCHER_SOURCE="${PKG_BIN32_PATH}${PATH_GAME}/$APP_MAIN_EXE" +LAUNCHER_DESTINATION="${PKG_BIN64_PATH}${PATH_GAME}/$APP_MAIN_EXE" +mkdir --parents "$(dirname "$LAUNCHER_DESTINATION")" +cp "$LAUNCHER_SOURCE" "$LAUNCHER_DESTINATION" + +# Get icon + +PKG='PKG_DATA' +icons_get_from_package 'APP_MAIN' + +# Clean up temporary directories + +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Write launchers + +for PKG in 'PKG_BIN32' 'PKG_BIN64'; do + launchers_write 'APP_MAIN' +done + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-opus-magnum.sh play.it-2.12.1/play.it-2/games/play-opus-magnum.sh --- play.it-2.12.0/play.it-2/games/play-opus-magnum.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-opus-magnum.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to contact@dotslashplay.it ### -script_version=20200707.1 +script_version=20200924.2 # Set game-specific variables @@ -55,10 +55,10 @@ ARCHIVE_DOC_DATA_FILES='*.txt' ARCHIVE_GAME_BIN32_PATH='data/noarch/game' -ARCHIVE_GAME_BIN32_FILES='Lightning.bin.x86 lib' +ARCHIVE_GAME_BIN32_FILES='Lightning.bin.x86 lib/libCSteamworks.so lib/libsteam_api.so' ARCHIVE_GAME_BIN64_PATH='data/noarch/game' -ARCHIVE_GAME_BIN64_FILES='Lightning.bin.x86_64 lib64' +ARCHIVE_GAME_BIN64_FILES='Lightning.bin.x86_64 lib64/libCSteamworks.so lib64/libsteam_api.so' ARCHIVE_GAME_DATA_PATH='data/noarch/game' ARCHIVE_GAME_DATA_FILES='*.dll *.exe *.exe.config mono* Content PackedContent' @@ -66,7 +66,7 @@ APP_MAIN_TYPE='native' APP_MAIN_EXE_BIN32='Lightning.bin.x86' APP_MAIN_EXE_BIN64='Lightning.bin.x86_64' -APP_MAIN_ICON='data/noarch/support/icon.png' +APP_MAIN_ICON='Lightning.exe' PACKAGES_LIST='PKG_BIN32 PKG_BIN64 PKG_DATA' @@ -74,7 +74,7 @@ PKG_DATA_DESCRIPTION='data' PKG_BIN32_ARCH='32' -PKG_BIN32_DEPS="$PKG_DATA_ID glibc libstdc++" +PKG_BIN32_DEPS="$PKG_DATA_ID glibc libstdc++ sdl2 sdl2_image sdl2_mixer vorbis" PKG_BIN64_ARCH='64' PKG_BIN64_DEPS="$PKG_BIN32_DEPS" @@ -115,7 +115,7 @@ # Extract icon PKG='PKG_DATA' -icons_get_from_workdir 'APP_MAIN' +icons_get_from_package 'APP_MAIN' # Clean up temporary files diff -Nru play.it-2.12.0/play.it-2/games/play-order-of-the-thorne.sh play.it-2.12.1/play.it-2/games/play-order-of-the-thorne.sh --- play.it-2.12.0/play.it-2/games/play-order-of-the-thorne.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-order-of-the-thorne.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180303.2 +script_version=20200918.1 # Set game-specific variables @@ -92,16 +92,25 @@ target_version='2.5' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-osmos.sh play.it-2.12.1/play.it-2/games/play-osmos.sh --- play.it-2.12.0/play.it-2/games/play-osmos.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-osmos.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -94,16 +94,25 @@ target_version='2.3' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-owlboy.sh play.it-2.12.1/play.it-2/games/play-owlboy.sh --- play.it-2.12.0/play.it-2/games/play-owlboy.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-owlboy.sh 2020-11-25 15:14:43.000000000 +0000 @@ -2,7 +2,7 @@ set -o errexit ### -# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2015-2020, Antoine Le Gonidec # Copyright (c) 2016-2020, Mopi # All rights reserved. # @@ -32,10 +32,10 @@ ### # Owlboy # build native packages from the original installers -# send your bug reports to vv221@dotslashplay.it +# send your bug reports to contact@dotslashplay.it ### -script_version=20190626.6 +script_version=20201017.1 # Set game-specific variables @@ -73,21 +73,20 @@ ARCHIVE_DOC_DATA_FILES='Linux.README' ARCHIVE_GAME_BIN32_PATH='data' -ARCHIVE_GAME_BIN32_FILES='Owlboy.bin.x86 lib' +ARCHIVE_GAME_BIN32_FILES='lib/libmojoshader.so lib/libXNAFileDialog.so' ARCHIVE_GAME_BIN64_PATH='data' -ARCHIVE_GAME_BIN64_FILES='Owlboy.bin.x86_64 lib64' +ARCHIVE_GAME_BIN64_FILES='lib64/libmojoshader.so lib64/libXNAFileDialog.so' ARCHIVE_GAME_DATA_PATH='data' -ARCHIVE_GAME_DATA_FILES='content *.dll *.config monoconfig monomachineconfig Owlboy.bmp Owlboy.exe' +ARCHIVE_GAME_DATA_FILES='content monoconfig monomachineconfig Owlboy.bmp Owlboy.exe FNA.dll FNA.dll.config GamedevUtility.dll MoonSharp.Interpreter.dll SharpFont.dll SharpFont.dll.config TimSort.dll' CONFIG_FILES='./content/localizations/*/speechbubbleconfig.ini ./content/fonts/*.ini' -APP_MAIN_TYPE='native' -# shellcheck disable=SC2016 -APP_MAIN_PRERUN='export TERM="${TERM%-256color}"' -APP_MAIN_EXE_BIN32='Owlboy.bin.x86' -APP_MAIN_EXE_BIN64='Owlboy.bin.x86_64' +APP_MAIN_TYPE='mono' +APP_MAIN_LIBS_BIN32='lib' +APP_MAIN_LIBS_BIN64='lib64' +APP_MAIN_EXE='Owlboy.exe' APP_MAIN_ICON='Owlboy.bmp' PACKAGES_LIST='PKG_DATA PKG_BIN32 PKG_BIN64' @@ -96,29 +95,28 @@ PKG_DATA_DESCRIPTION='data' PKG_BIN32_ARCH='32' -PKG_BIN32_DEPS="$PKG_DATA_ID glibc libstdc++ sdl2 vorbis glx libudev1" -PKG_BIN32_DEPS_ARCH='lib32-zlib' -PKG_BIN32_DEPS_DEB='zlib1g' -PKG_BIN32_DEPS_GENTOO='sys-libs/zlib[abi_x86_32]' +PKG_BIN32_DEPS="$PKG_DATA_ID mono glx libudev1 freetype libSDL2-2.0.so.0 sdl2_image" +PKG_BIN32_DEPS_ARCH='lib32-faudio' +PKG_BIN32_DEPS_DEB='libmono-corlib4.5-cil, libmono-posix4.0-cil, libmono-security4.0-cil, libmono-system4.0-cil, libmono-system-core4.0-cil, libmono-system-configuration4.0-cil, libmono-system-data4.0-cil, libmono-system-design4.0-cil, libmono-system-drawing4.0-cil, libmono-system-management4.0-cil, libmono-system-numerics4.0-cil, libmono-system-runtime-serialization4.0-cil, libmono-system-security4.0-cil, libmono-system-transactions4.0-cil, libmono-system-xml4.0-cil, libfaudio0' +PKG_BIN32_DEPS_GENTOO='app-emulation/faudio[abi_x86_32]' PKG_BIN64_ARCH='64' PKG_BIN64_DEPS="$PKG_BIN32_DEPS" -PKG_BIN64_DEPS_ARCH='zlib' +PKG_BIN64_DEPS_ARCH='faudio' PKG_BIN64_DEPS_DEB="$PKG_BIN32_DEPS_DEB" -PKG_BIN64_DEPS_GENTOO='sys-libs/zlib' +PKG_BIN64_DEPS_GENTOO='app-emulation/faudio' # Load common functions -target_version='2.11' +target_version='2.12' if [ -z "$PLAYIT_LIB2" ]; then - : "${XDG_DATA_HOME:="$HOME/.local/share"}" - for path in\ - "$PWD"\ - "$XDG_DATA_HOME/play.it"\ - '/usr/local/share/games/play.it'\ - '/usr/local/share/play.it'\ - '/usr/share/games/play.it'\ + for path in \ + "$PWD" \ + "${XDG_DATA_HOME:="$HOME/.local/share"}/play.it" \ + '/usr/local/share/games/play.it' \ + '/usr/local/share/play.it' \ + '/usr/share/games/play.it' \ '/usr/share/play.it' do if [ -e "$path/libplayit2.sh" ]; then diff -Nru play.it-2.12.0/play.it-2/games/play-pandora-first-contact.sh play.it-2.12.1/play.it-2/games/play-pandora-first-contact.sh --- play.it-2.12.0/play.it-2/games/play-pandora-first-contact.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-pandora-first-contact.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -84,16 +84,25 @@ target_version='2.5' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-panmorphia.sh play.it-2.12.1/play.it-2/games/play-panmorphia.sh --- play.it-2.12.0/play.it-2/games/play-panmorphia.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-panmorphia.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,140 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine Le Gonidec +# Copyright (c) 2016-2020, Mopi +# 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. +### + +### +# Panmorphia +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20201023.1 + +# Set game-specific variables + +GAME_ID='panmorphia' +GAME_NAME='Panmorphia' + +ARCHIVES_LIST=' +ARCHIVE_ITCH_0' + +ARCHIVE_ITCH_0='Panmorphia_LinuxNew.zip' +ARCHIVE_ITCH_0_URL='https://lkmad.itch.io/panmorphia' +ARCHIVE_ITCH_0_MD5='09b08b517c792ca4ea4f0ccf5151fd95' +ARCHIVE_ITCH_0_SIZE='250000' +ARCHIVE_ITCH_0_VERSION='1.0-itch' +ARCHIVE_ITCH_0_TYPE='zip' + +ARCHIVE_GAME_BIN_PATH='.' +ARCHIVE_GAME_BIN_FILES='Panmorphia.x86_64 Panmorphia_Data/Mono*/x86_64 Panmorphia_Data/Plugins/x86_64 Panmorphia_Data/Managed' + +ARCHIVE_GAME_DATA_PATH='.' +ARCHIVE_GAME_DATA_FILES='Panmorphia_Data' + +DATA_DIRS='./logs' + +APP_MAIN_TYPE='native' +APP_MAIN_PRERUN='# Work around Unity3D poor support for non-US locales +export LANG=C' +APP_MAIN_EXE='Panmorphia.x86_64' +APP_MAIN_ICON='Panmorphia_Data/Resources/UnityPlayer.png' +# Use a per-session dedicated file for logs +# shellcheck disable=SC2016 +APP_MAIN_OPTIONS='-logFile ./logs/$(date +%F-%R).log' + +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 glibc libstdc++ gtk2 libgdk_pixbuf-2.0.so.0 libgobject-2.0.so.0 libglib-2.0.so.0" + +# Load common functions + +target_version='2.12' + +if [ -z "$PLAYIT_LIB2" ]; then + for path in \ + "$PWD" \ + "${XDG_DATA_HOME:="$HOME/.local/share"}/play.it" \ + '/usr/local/share/games/play.it' \ + '/usr/local/share/play.it' \ + '/usr/share/games/play.it' \ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +set_standard_permissions "$PLAYIT_WORKDIR/gamedata" +prepare_package_layout + +# Get icon + +PKG='PKG_DATA' +icons_get_from_package 'APP_MAIN' + +# Clean up temporary directories + +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Write launchers + +PKG='PKG_BIN' +launchers_write 'APP_MAIN' + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-particulars.sh play.it-2.12.1/play.it-2/games/play-particulars.sh --- play.it-2.12.0/play.it-2/games/play-particulars.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-particulars.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -82,16 +82,25 @@ target_version='2.3' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-pid.sh play.it-2.12.1/play.it-2/games/play-pid.sh --- play.it-2.12.0/play.it-2/games/play-pid.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-pid.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to mopi@dotslashplay.it ### -script_version=20180227.1 +script_version=20200918.1 # Set game-specific variables @@ -80,16 +80,25 @@ target_version='2.5' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-pikuniku.sh play.it-2.12.1/play.it-2/games/play-pikuniku.sh --- play.it-2.12.0/play.it-2/games/play-pikuniku.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-pikuniku.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,135 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2018-2020, BetaRays +# 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. +### + +### +# Pikuniku +# build native packages from the original installers +# send your bug reports to vv221@dotslashplay.it +### + +script_version=20200705.1 + +# Set game-specific variables + +GAME_ID='pikuniku' +GAME_NAME='Pikuniku' + +ARCHIVE_ITCH='Pikuniku_Linux.zip' +ARCHIVE_ITCH_URL='https://devolverdigital.itch.io/pikuniku' +ARCHIVE_ITCH_MD5='93faafa1fe66c8038c61c87364caf121' +ARCHIVE_ITCH_SIZE='350000' +ARCHIVE_ITCH_VERSION='1.0.5-itch' +ARCHIVE_ITCH_TYPE='zip' + +ARCHIVE_GAME_BIN32_PATH='.' +ARCHIVE_GAME_BIN32_FILES='Pikuniku.x86 Pikuniku_Data/Mono/x86 Pikuniku_Data/Plugins/x86' + +ARCHIVE_GAME_BIN64_PATH='.' +ARCHIVE_GAME_BIN64_FILES='Pikuniku.x86_64 Pikuniku_Data/Mono/x86_64 Pikuniku_Data/Plugins/x86_64' + +ARCHIVE_GAME_DATA_PATH='.' +ARCHIVE_GAME_DATA_FILES='Pikuniku_Data' + +APP_MAIN_TYPE='native' +APP_MAIN_EXE_BIN32='Pikuniku.x86' +APP_MAIN_EXE_BIN64='Pikuniku.x86_64' +APP_MAIN_ICON='Pikuniku_Data/Resources/UnityPlayer.png' + +PACKAGES_LIST='PKG_BIN32 PKG_BIN64 PKG_DATA' + +PKG_DATA_ID="${GAME_ID}-data" +PKG_DATA_DESCRIPTION='data' + +PKG_BIN32_ARCH='32' +PKG_BIN32_DEPS="$PKG_DATA_ID glx xcursor glibc libstdc++ libxrandr gtk2" + +PKG_BIN64_ARCH='64' +PKG_BIN64_DEPS="$PKG_BIN32_DEPS" + +# Load common functions + +target_version='2.11' + +if [ -z "$PLAYIT_LIB2" ]; then + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +prepare_package_layout +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Extract icons + +PKG='PKG_DATA' +icons_get_from_package 'APP_MAIN' + +# Write launchers + +for PKG in 'PKG_BIN32' 'PKG_BIN64'; do + launcher_write 'APP_MAIN' +done + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-pirates-gold.sh play.it-2.12.1/play.it-2/games/play-pirates-gold.sh --- play.it-2.12.0/play.it-2/games/play-pirates-gold.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-pirates-gold.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -79,16 +79,25 @@ target_version='2.4' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-pirates.sh play.it-2.12.1/play.it-2/games/play-pirates.sh --- play.it-2.12.0/play.it-2/games/play-pirates.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-pirates.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -73,16 +73,25 @@ target_version='2.4' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-pixel-piracy.sh play.it-2.12.1/play.it-2/games/play-pixel-piracy.sh --- play.it-2.12.0/play.it-2/games/play-pixel-piracy.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-pixel-piracy.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -84,16 +84,25 @@ target_version='2.5' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-political-animals.sh play.it-2.12.1/play.it-2/games/play-political-animals.sh --- play.it-2.12.0/play.it-2/games/play-political-animals.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-political-animals.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -89,16 +89,25 @@ target_version='2.3' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-pony-island.sh play.it-2.12.1/play.it-2/games/play-pony-island.sh --- play.it-2.12.0/play.it-2/games/play-pony-island.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-pony-island.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -78,16 +78,25 @@ target_version='2.3' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-privateer-1.sh play.it-2.12.1/play.it-2/games/play-privateer-1.sh --- play.it-2.12.0/play.it-2/games/play-privateer-1.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-privateer-1.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,169 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# 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. +### + +### +# Privateer +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20200906.5 + +# Set game-specific variables + +GAME_ID='privateer-1' +GAME_NAME='Privateer' + +ARCHIVES_LIST=' +ARCHIVE_GOG_1 +ARCHIVE_GOG_0' + +ARCHIVE_GOG_1='setup_wing_commander_privateer_1.0_(28045).exe' +ARCHIVE_GOG_1_MD5='482b990445b335ecf7f47ee18efccc14' +ARCHIVE_GOG_1_TYPE='innosetup' +ARCHIVE_GOG_1_URL='https://www.gog.com/game/wing_commander_privateer' +ARCHIVE_GOG_1_VERSION='1.0-gog28045' +ARCHIVE_GOG_1_SIZE='180000' + +ARCHIVE_GOG_0='setup_wing_commander_privateer_2.0.0.9.exe' +ARCHIVE_GOG_0_MD5='53c77040cba69a642ec1302b5cf231b5' +ARCHIVE_GOG_0_TYPE='innosetup' +ARCHIVE_GOG_0_VERSION='1.0-gog2.0.0.9' +ARCHIVE_GOG_0_SIZE='190000' + +ARCHIVE_DOC_MAIN_PATH='.' +ARCHIVE_DOC_MAIN_FILES='*.pdf' + +ARCHIVE_GAME_MAIN_PATH='.' +ARCHIVE_GAME_MAIN_FILES='*.cfg *.dat *.exe *.nda *.ovl *.pak *.vda game.gog' + +# Keep compatibility with old archives +ARCHIVE_DOC_MAIN_PATH_GOG_0='app' +ARCHIVE_GAME_MAIN_PATH_GOG_0='app' + +# CD-ROM image +GAME_IMAGE='GAME.GOG' +GAME_IMAGE_TYPE='iso' + +CONFIG_FILES='./*.CFG' +DATA_FILES='./*.IFF' + +# Main game +APP_MAIN_TYPE='dosbox' +APP_MAIN_EXE='PRIV.EXE' +APP_MAIN_ICON='app/goggame-1207658938.ico' + +# Righteous Fire expansion +APP_RF_ID="${GAME_ID}-righteous-fire" +APP_RF_NAME="${GAME_NAME} - Righteous Fire" +APP_RF_TYPE='dosbox' +APP_RF_EXE='PRIV.EXE' +APP_RF_EXE_OPTIONS='r' +APP_RF_ICON='app/goggame-1207658938.ico' + +# Keep compatibility with old archives +APP_MAIN_ICON_GOG_0='app/gfw_high.ico' +APP_RF_ICON_GOG_0='app/gfw_high.ico' + +PACKAGES_LIST='PKG_MAIN' + +PKG_MAIN_DEPS='dosbox' + +# Load common functions + +target_version='2.12' + +if [ -z "$PLAYIT_LIB2" ]; then + for path in \ + "$PWD" \ + "${XDG_DATA_HOME:="$HOME/.local/share"}/play.it" \ + '/usr/local/share/games/play.it' \ + '/usr/local/share/play.it' \ + '/usr/share/games/play.it' \ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +prepare_package_layout +toupper "${PKG_MAIN_PATH}${PATH_GAME}" + +# Extract icons + +icons_get_from_workdir 'APP_MAIN' 'APP_RF' + +# Clean up temporary files + +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Write launchers + +launchers_write 'APP_MAIN' 'APP_RF' + +# Work around sound issues in the intro video + +### +# TODO +# We need a better way to handle pre-run commands for DOSBox games +### + +pattern='s/^# Run the game$/&\n\n' +pattern="$pattern"'# Work around sound issues in the intro video\n' +pattern="$pattern"'export DOSBOX_SBLASTER_IRQ=5\n/' +sed --in-place "$pattern" "${PKG_MAIN_PATH}${PATH_BIN}"/* + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-psychonauts.sh play.it-2.12.1/play.it-2/games/play-psychonauts.sh --- play.it-2.12.0/play.it-2/games/play-psychonauts.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-psychonauts.sh 2020-11-25 15:14:43.000000000 +0000 @@ -35,7 +35,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -95,16 +95,25 @@ target_version='2.1' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-quiet-as-a-stone.sh play.it-2.12.1/play.it-2/games/play-quiet-as-a-stone.sh --- play.it-2.12.0/play.it-2/games/play-quiet-as-a-stone.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-quiet-as-a-stone.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,129 @@ +#!/bin/sh -e +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2016-2020, Mopi +# 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. +### + +### +# Quiet as a Stone +# build native Linux packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20200928.1 + +# Set game-specific variables + +GAME_ID='quiet-as-a-stone' +GAME_NAME='Quiet as a Stone' + +ARCHIVE_ITCH='quietasastone-win64.zip' +ARCHIVE_ITCH_URL='https://distantlantern.itch.io/quietasastone' +ARCHIVE_ITCH_MD5='72cd64e689dd398afaa9909abb15cb15' +ARCHIVE_ITCH_SIZE='1500000' +ARCHIVE_ITCH_VERSION='1.0-itch' + +ARCHIVE_GAME_BIN_PATH='.' +ARCHIVE_GAME_BIN_FILES='QuietasaStone_Data/Plugins Mono UnityPlayer.dll UnityCrashHandler64.exe WinPixEventRuntime.dll QuietasaStone.exe' + +ARCHIVE_GAME_DATA_PATH='.' +ARCHIVE_GAME_DATA_FILES='QuietasaStone_Data' + +APP_MAIN_TYPE='wine' +APP_MAIN_EXE='QuietasaStone.exe' +APP_MAIN_ICON='QuietasaStone.exe' + +PACKAGES_LIST='PKG_DATA PKG_BIN' + +PKG_DATA_ID="${GAME_ID}-data" +PKG_DATA_DESCRIPTION='data' + +PKG_BIN_ARCH='64' +PKG_BIN_DEPS="$PKG_DATA_ID wine" + +# Load common functions + +target_version='2.12' + +if [ -z "$PLAYIT_LIB2" ]; then + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +prepare_package_layout + +# Get icon + +PKG='PKG_BIN' +icons_get_from_package 'APP_MAIN' + +# Clean up temporary directories + +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Write launchers + +PKG='PKG_BIN' +launchers_write 'APP_MAIN' + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-race-the-sun.sh play.it-2.12.1/play.it-2/games/play-race-the-sun.sh --- play.it-2.12.0/play.it-2/games/play-race-the-sun.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-race-the-sun.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180411.1 +script_version=20200918.1 # Set game-specific variables @@ -94,16 +94,25 @@ target_version='2.7' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-race-the-sun-sunrise.sh play.it-2.12.1/play.it-2/games/play-race-the-sun-sunrise.sh --- play.it-2.12.0/play.it-2/games/play-race-the-sun-sunrise.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-race-the-sun-sunrise.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -64,16 +64,25 @@ target_version='2.0' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-rakuen.sh play.it-2.12.1/play.it-2/games/play-rakuen.sh --- play.it-2.12.0/play.it-2/games/play-rakuen.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-rakuen.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20200410.1 +script_version=20200918.1 # Set game-specific variables @@ -86,16 +86,25 @@ target_version='2.7' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-realmyst-masterpiece-edition.sh play.it-2.12.1/play.it-2/games/play-realmyst-masterpiece-edition.sh --- play.it-2.12.0/play.it-2/games/play-realmyst-masterpiece-edition.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-realmyst-masterpiece-edition.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,149 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine Le Gonidec +# 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. +### + +### +# realMyst: Masterpiece Edition +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20200813.2 + +# Set game-specific variables + +GAME_ID='realmyst-masterpiece-edition' +GAME_NAME='realMyst: Masterpiece Edition' + +ARCHIVES_LIST=' +ARCHIVE_GOG_0' + +ARCHIVE_GOG_0='setup_real_myst_masterpiece_edition_2.2_rev_10535_(64bit)_(23829).exe' +ARCHIVE_GOG_0_MD5='fcb23e0256ab826e9a2ba9cad00d9a66' +ARCHIVE_GOG_0_TYPE='innosetup' +ARCHIVE_GOG_0_URL='https://www.gog.com/game/real_myst_masterpiece_edition' +ARCHIVE_GOG_0_VERSION='2.2.10535-gog23829' +ARCHIVE_GOG_0_SIZE='2800000' +ARCHIVE_GOG_0_PART1='setup_real_myst_masterpiece_edition_2.2_rev_10535_(64bit)_(23829)-1.bin' +ARCHIVE_GOG_0_PART1_MD5='038b24ec51a18b325574293d7f2d0ec2' +ARCHIVE_GOG_0_PART1_TYPE='innosetup' + +ARCHIVE_GAME_BIN_PATH='.' +ARCHIVE_GAME_BIN_FILES='realmyst.exe realmyst_data/mono' + +ARCHIVE_GAME_DATA_PATH='.' +ARCHIVE_GAME_DATA_FILES='realmyst_data' + +DATA_DIRS='./userdata' + +APP_MAIN_TYPE='wine' +APP_MAIN_EXE='realmyst.exe' +APP_MAIN_ICON='realmyst.exe' +# Use a per-session dedicated file for logs +APP_MAIN_OPTIONS='-logFile ./logs/$(date +%F-%R).log' +# Store persistent user data outside of the game prefix +APP_MAIN_PRERUN='# Store persistent user data outside of the game prefix +user_data_path="$WINEPREFIX/drive_c/users/$USER/AppData/LocalLow/Cyan Worlds/realMyst" +if [ ! -e "$user_data_path" ]; then + mkdir --parents "$(dirname "$user_data_path")" + mkdir --parents "$PATH_DATA/userdata" + ln --symbolic "$PATH_DATA/userdata" "$user_data_path" + init_prefix_dirs "$PATH_DATA" "$DATA_DIRS" +fi' + +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 wine glx" + +# Load common functions + +target_version='2.12' + +if [ -z "$PLAYIT_LIB2" ]; then + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +prepare_package_layout + +# Extract icons + +PKG='PKG_BIN' +icons_get_from_package 'APP_MAIN' +icons_move_to 'PKG_DATA' + +# Clean up temporary files + +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Write launchers + +PKG='PKG_BIN' +launchers_write 'APP_MAIN' + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-reassembly.sh play.it-2.12.1/play.it-2/games/play-reassembly.sh --- play.it-2.12.0/play.it-2/games/play-reassembly.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-reassembly.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,200 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2018-2020, BetaRays +# 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. +### + +### +# Reassembly +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20200716.5 + +# Set game-specific variables + +GAME_ID='reassembly' +GAME_NAME='Reassembly' + +ARCHIVES_LIST=' +ARCHIVE_GOG_0 +ARCHIVE_HUMBLE_0 +' + +ARCHIVE_GOG_0='reassembly_2019_4_04_28550.sh' +ARCHIVE_GOG_0_URL='https://www.gog.com/game/reassembly' +ARCHIVE_GOG_0_MD5='640cc7849af45fb221f349b9d901b9ab' +ARCHIVE_GOG_0_VERSION='20190330-gog28550' +ARCHIVE_GOG_0_SIZE='120000' +ARCHIVE_GOG_0_TYPE='mojosetup' + +ARCHIVE_HUMBLE_0='anisopteragames_Reassembly_2019_04_11.tar.gz' +ARCHIVE_HUMBLE_0_MD5='ae516da186f0a2c6799eb8059a51337d' +ARCHIVE_HUMBLE_0_URL='https://www.humblebundle.com/store/reassembly' +ARCHIVE_HUMBLE_0_VERSION='20190330-humble1' +ARCHIVE_HUMBLE_0_SIZE='120000' + +ARCHIVE_DOC_DATA_PATH_GOG='data/noarch/game' +ARCHIVE_DOC_DATA_PATH_HUMBLE='Reassembly' +ARCHIVE_DOC_DATA_FILES='*.txt' + +# gog.com archive only +ARCHIVE_DOC0_DATA_PATH_GOG='data/noarch/docs' +ARCHIVE_DOC0_DATA_FILES_GOG='*.txt' + +ARCHIVE_GAME_BIN_PATH_GOG='data/noarch/game' +ARCHIVE_GAME_BIN_PATH_HUMBLE='Reassembly' +ARCHIVE_GAME_BIN_FILES='linux/ReassemblyRelease64 linux/linux64/libGLEW.so.1.13' + +ARCHIVE_GAME_DATA_PATH_GOG='data/noarch/game' +ARCHIVE_GAME_DATA_PATH_HUMBLE='Reassembly' +ARCHIVE_GAME_DATA_FILES='data linux/reassembly_icon.png' + +ARCHIVE_FONTS_PATH_GOG='data/noarch/game/data' +ARCHIVE_FONTS_PATH_HUMBLE='Reassembly/data' +ARCHIVE_FONTS_FILES='*.ttf' + +APP_MAIN_TYPE='native' +APP_MAIN_LIBS='linux/linux64' +APP_MAIN_EXE='linux/ReassemblyRelease64' +APP_MAIN_ICON='linux/reassembly_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 glibc libstdc++ glx sdl2 sdl2_image openal vorbis libcurl" +PKG_BIN_DEPS_DEB='libsdl2-ttf-2.0-0, zlib1g' +PKG_BIN_DEPS_ARCH='sdl2_ttf zlib' +PKG_BIN_DEPS_GENTOO='media-libs/sdl2-ttf sys-libs/zlib' + +# Load common functions + +target_version='2.11' + +if [ -z "$PLAYIT_LIB2" ]; then + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Include a 64-bit build of libcurl.so.3/libcurl.so.4 including CURL_OPENSSL_3 symbol + +ARCHIVE_OPTIONAL_LIBCURL3='libcurl3_7.52.1_64-bit.tar.gz' +ARCHIVE_OPTIONAL_LIBCURL3_URL='https://downloads.dotslashplay.it/resources/libcurl/' +ARCHIVE_OPTIONAL_LIBCURL3_MD5='e276dd3620c31617baace84dfa3dca21' +ARCHIVE_MAIN="$ARCHIVE" +set_archive 'ARCHIVE_LIBCURL3' 'ARCHIVE_OPTIONAL_LIBCURL3' +if [ "$ARCHIVE_LIBCURL3" ]; then + extract_data_from "$ARCHIVE_LIBCURL3" + mkdir --parents "${PKG_BIN_PATH}${PATH_GAME}/${APP_MAIN_LIBS:=libs}" + mv "$PLAYIT_WORKDIR"/gamedata/* "${PKG_BIN_PATH}${PATH_GAME}/$APP_MAIN_LIBS" + rm --recursive "$PLAYIT_WORKDIR/gamedata" +else + case "${LANG%_*}" in + ('fr') + message='Lʼarchive suivante nʼayant pas été fournie, %s ne sera pas inclus dans les paquets : %s\n' + message="$message"'Cette archive peut être téléchargée depuis %s\n' + ;; + ('en'|*) + message='Due to the following archive missing, the packages will not include %s: %s\n' + message="$message"'This archive can be downloaded from %s\n' + ;; + esac + print_warning + printf "$message" 'libcurl.so.4.4.0' "$ARCHIVE_OPTIONAL_LIBCURL3" "$ARCHIVE_OPTIONAL_LIBCURL3_URL" + printf '\n' +fi +ARCHIVE="$ARCHIVE_MAIN" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" + +# Get shipped fonts + +PKG='PKG_DATA' +PATH_FONTS="$OPTION_PREFIX/share/fonts/truetype/$GAME_ID" +organize_data 'FONTS' "$PATH_FONTS" +APP_MAIN_PRERUN="$APP_MAIN_PRERUN"' +# Link required fonts where the game engine expects to find them +ln --force --symbolic "'"$PATH_FONTS"'"/*.ttf "$PATH_PREFIX/data"' + +# Get game data + +prepare_package_layout + +# Get game icon + +PKG='PKG_DATA' +icons_get_from_package 'APP_MAIN' + +# Clean up temporary files + +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Write launchers + +PKG='PKG_BIN' +launchers_write 'APP_MAIN' + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-republique.sh play.it-2.12.1/play.it-2/games/play-republique.sh --- play.it-2.12.0/play.it-2/games/play-republique.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-republique.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180802.1 +script_version=20200918.1 # Set game-specific variables @@ -42,7 +42,6 @@ GAME_NAME='Republique' ARCHIVE_GOG='setup_republique_remastered_33555_(18824).exe' -ARCHIVE_GOG_URL='https://www.gog.com/game/republique' ARCHIVE_GOG_MD5='e1c57ea3489a5ffd222990ab28a9ffe7' ARCHIVE_GOG_SIZE='7800000' ARCHIVE_GOG_VERSION='1.0-gog2.2.0.4' @@ -92,16 +91,25 @@ target_version='2.7' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-retrace.sh play.it-2.12.1/play.it-2/games/play-retrace.sh --- play.it-2.12.0/play.it-2/games/play-retrace.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-retrace.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,131 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine Le Gonidec +# Copyright (c) 2016-2020, Mopi +# 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. +### + +### +# Retrace +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20201019.1 + +# Set game-specific variables + +GAME_ID='retrace' +GAME_NAME='Retrace' + +ARCHIVE_ITCH='retrace-win.zip' +ARCHIVE_ITCH_URL='https://spiderlilystudios.itch.io/retrace' +ARCHIVE_ITCH_MD5='a953b09f1e1226ac24998ea68cacfe0e' +ARCHIVE_ITCH_SIZE='190000' +ARCHIVE_ITCH_VERSION='1.0-itch' + +ARCHIVE_GAME_BIN_PATH='.' +ARCHIVE_GAME_BIN_FILES='options.ini Retrace.exe' + +ARCHIVE_GAME_DATA_PATH='.' +ARCHIVE_GAME_DATA_FILES='audiogroup1.dat audiogroup2.dat data data.win fonts' + +CONFIG_FILES='./options.ini' + +APP_MAIN_TYPE='wine' +APP_MAIN_EXE='Retrace.exe' +APP_MAIN_ICON='Retrace.exe' + +PACKAGES_LIST='PKG_DATA PKG_BIN' + +PKG_DATA_ID="${GAME_ID}-data" +PKG_DATA_DESCRIPTION='data' + +PKG_BIN_ARCH='32' +PKG_BIN_DEPS="$PKG_DATA_ID wine" + +# Load common functions + +target_version='2.12' + +if [ -z "$PLAYIT_LIB2" ]; then + for path in \ + "$PWD" \ + "${XDG_DATA_HOME:="$HOME/.local/share"}/play.it" \ + '/usr/local/share/games/play.it' \ + '/usr/local/share/play.it' \ + '/usr/share/games/play.it' \ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +set_standard_permissions "$PLAYIT_WORKDIR/gamedata" +prepare_package_layout + +# Get icon + +PKG='PKG_BIN' +icons_get_from_package 'APP_MAIN' + +# Clean up temporary directories + +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Write launchers + +PKG='PKG_BIN' +launchers_write 'APP_MAIN' + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-robin-hood-the-legend-of-sherwood.sh play.it-2.12.1/play.it-2/games/play-robin-hood-the-legend-of-sherwood.sh --- play.it-2.12.0/play.it-2/games/play-robin-hood-the-legend-of-sherwood.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-robin-hood-the-legend-of-sherwood.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -107,16 +107,25 @@ target_version='2.5' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-runner-2.sh play.it-2.12.1/play.it-2/games/play-runner-2.sh --- play.it-2.12.0/play.it-2/games/play-runner-2.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-runner-2.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -86,16 +86,25 @@ target_version='2.1' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-samurai-shodown-2.sh play.it-2.12.1/play.it-2/games/play-samurai-shodown-2.sh --- play.it-2.12.0/play.it-2/games/play-samurai-shodown-2.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-samurai-shodown-2.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,136 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2020, HS-157 +# 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. +### + +### +# SAMURAI SHODOWN II +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20200725.1 + +# Set game-specific variables + +GAME_ID='samurai-shodown-2' +GAME_NAME="SAMURAI SHODOWN II" + +ARCHIVE_HUMBLE='SamuraiShodown2_jan2016.sh' +ARCHIVE_HUMBLE_TYPE='mojosetup' +ARCHIVE_HUMBLE_URL='https://www.humblebundle.com/store/samurai-shodown-ii' +ARCHIVE_HUMBLE_MD5='11a6642f250c9ec322bc8d1a9f0f9b49' +ARCHIVE_HUMBLE_VERSION='1.0-humblejan2016' +ARCHIVE_HUMBLE_SIZE='48000' + +ARCHIVE_GAME_BIN32_PATH_HUMBLE='data/x86' +ARCHIVE_GAME_BIN32_FILES='NeogeoEmu.bin.x86 lib' + +ARCHIVE_GAME_BIN64_PATH_HUMBLE='data/x86_64' +ARCHIVE_GAME_BIN64_FILES='NeogeoEmu.bin.x86_64 lib64' + +ARCHIVE_GAME_DATA_PATH_HUMBLE='data/noarch' +ARCHIVE_GAME_DATA_FILES='*' + +APP_MAIN_TYPE='native' +APP_MAIN_ICON='SamuraiShodown2.png' +APP_MAIN_EXE_BIN32='NeogeoEmu.bin.x86' +APP_MAIN_EXE_BIN64='NeogeoEmu.bin.x86_64' + +DATA_FILES='*.ini *.rml *.txt' + +PACKAGES_LIST='PKG_BIN32 PKG_BIN64 PKG_DATA' + +PKG_DATA_ID="${GAME_ID}-data" +PKG_DATA_DESCRIPTION='data' + +PKG_BIN32_ARCH='32' +PKG_BIN32_DEPS="$PKG_DATA_ID glibc libstdc++ sdl2 glx alsa libudev1" + +PKG_BIN64_ARCH='64' +PKG_BIN64_DEPS="$PKG_BIN32_DEPS" + +# Load common functions + +target_version='2.11' + +if [ -z "$PLAYIT_LIB2" ]; then + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +prepare_package_layout +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Extract icon + +PKG='PKG_DATA' +icons_get_from_package 'APP_MAIN' + +# Write launchers +for PKG in 'PKG_BIN32' 'PKG_BIN64'; do + launchers_write 'APP_MAIN' +done + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-sengoku-3.sh play.it-2.12.1/play.it-2/games/play-sengoku-3.sh --- play.it-2.12.0/play.it-2/games/play-sengoku-3.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-sengoku-3.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,136 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2020, HS-157 +# 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. +### + +### +# SENGOKU 3 +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20200725.1 + +# Set game-specific variables + +GAME_ID='sengoku-3' +GAME_NAME="SENGOKU 3" + +ARCHIVE_HUMBLE='Sengoku3_jan2016.sh' +ARCHIVE_HUMBLE_TYPE='mojosetup' +ARCHIVE_HUMBLE_URL='https://www.humblebundle.com/store/sengoku-3' +ARCHIVE_HUMBLE_MD5='5ecd65661e4b35c1badebcb146c8a261' +ARCHIVE_HUMBLE_VERSION='1.0-humblejan2016' +ARCHIVE_HUMBLE_SIZE='76000' + +ARCHIVE_GAME_BIN32_PATH_HUMBLE='data/x86' +ARCHIVE_GAME_BIN32_FILES='NeogeoEmu.bin.x86 lib' + +ARCHIVE_GAME_BIN64_PATH_HUMBLE='data/x86_64' +ARCHIVE_GAME_BIN64_FILES='NeogeoEmu.bin.x86_64 lib64' + +ARCHIVE_GAME_DATA_PATH_HUMBLE='data/noarch' +ARCHIVE_GAME_DATA_FILES='*' + +APP_MAIN_TYPE='native' +APP_MAIN_ICON='Sengoku3.png' +APP_MAIN_EXE_BIN32='NeogeoEmu.bin.x86' +APP_MAIN_EXE_BIN64='NeogeoEmu.bin.x86_64' + +DATA_FILES='*.ini *.rml *.txt' + +PACKAGES_LIST='PKG_BIN32 PKG_BIN64 PKG_DATA' + +PKG_DATA_ID="${GAME_ID}-data" +PKG_DATA_DESCRIPTION='data' + +PKG_BIN32_ARCH='32' +PKG_BIN32_DEPS="$PKG_DATA_ID glibc libstdc++ sdl2 glx alsa libudev1" + +PKG_BIN64_ARCH='64' +PKG_BIN64_DEPS="$PKG_BIN32_DEPS" + +# Load common functions + +target_version='2.11' + +if [ -z "$PLAYIT_LIB2" ]; then + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +prepare_package_layout +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Extract icon + +PKG='PKG_DATA' +icons_get_from_package 'APP_MAIN' + +# Write launchers +for PKG in 'PKG_BIN32' 'PKG_BIN64'; do + launchers_write 'APP_MAIN' +done + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-sentris.sh play.it-2.12.1/play.it-2/games/play-sentris.sh --- play.it-2.12.0/play.it-2/games/play-sentris.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-sentris.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to contact@dotslashplay.it ### -script_version=20200529.1 +script_version=20200918.1 # Set game-specific variables @@ -87,16 +87,25 @@ target_version='2.3' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-shadowrun-dragonfall.sh play.it-2.12.1/play.it-2/games/play-shadowrun-dragonfall.sh --- play.it-2.12.0/play.it-2/games/play-shadowrun-dragonfall.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-shadowrun-dragonfall.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180227.1 +script_version=20200918.1 # Set game-specific variables @@ -104,16 +104,25 @@ target_version='2.5' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-shadowrun-hong-kong.sh play.it-2.12.1/play.it-2/games/play-shadowrun-hong-kong.sh --- play.it-2.12.0/play.it-2/games/play-shadowrun-hong-kong.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-shadowrun-hong-kong.sh 2020-11-25 15:14:43.000000000 +0000 @@ -1,4 +1,4 @@ -#!/bin/sh -e +#!/bin/sh set -o errexit ### @@ -30,42 +30,40 @@ ### # Shadowrun: Hong Kong -# build native Linux packages from the original installers -# send your bug reports to vv221@dotslashplay.it +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it ### -script_version=20180227.1 +script_version=20201002.4 # Set game-specific variables GAME_ID='shadowrun-hong-kong' GAME_NAME='Shadowrun: Hong Kong' -ARCHIVES_LIST='ARCHIVE_GOG' +ARCHIVES_LIST=' +ARCHIVE_GOG_0' -ARCHIVE_GOG='gog_shadowrun_hong_kong_extended_edition_2.8.0.11.sh' -ARCHIVE_GOG_URL='https://www.gog.com/game/shadowrun_hong_kong_extended_edition' -ARCHIVE_GOG_MD5='643ba68e47c309d391a6482f838e46af' -ARCHIVE_GOG_SIZE='12000000' -ARCHIVE_GOG_VERSION='3.1.2-gog2.8.0.11' - -ARCHIVE_DOC_PATH='data/noarch/docs' -ARCHIVE_DOC_FILES='./*' +ARCHIVE_GOG_0='gog_shadowrun_hong_kong_extended_edition_2.8.0.11.sh' +ARCHIVE_GOG_0_URL='https://www.gog.com/game/shadowrun_hong_kong_extended_edition' +ARCHIVE_GOG_0_MD5='643ba68e47c309d391a6482f838e46af' +ARCHIVE_GOG_0_SIZE='12000000' +ARCHIVE_GOG_0_VERSION='3.1.2-gog2.8.0.11' ARCHIVE_GAME_BIN_PATH='data/noarch/game' -ARCHIVE_GAME_BIN_FILES='./ShadowrunEditor ./SRHK ./SRHK_Data/Mono ./SRHK_Data/Plugins' +ARCHIVE_GAME_BIN_FILES='ShadowrunEditor SRHK SRHK_Data/Mono SRHK_Data/Plugins' ARCHIVE_GAME_DATA_BERLIN_PATH='data/noarch/game' -ARCHIVE_GAME_DATA_BERLIN_FILES='./SRHK_Data/StreamingAssets/standalone/berlin' +ARCHIVE_GAME_DATA_BERLIN_FILES='SRHK_Data/StreamingAssets/standalone/berlin' ARCHIVE_GAME_DATA_HONGKONG_PATH='data/noarch/game' -ARCHIVE_GAME_DATA_HONGKONG_FILES='./SRHK_Data/StreamingAssets/standalone/hongkong' +ARCHIVE_GAME_DATA_HONGKONG_FILES='SRHK_Data/StreamingAssets/standalone/hongkong' ARCHIVE_GAME_DATA_SEATTLE_PATH='data/noarch/game' -ARCHIVE_GAME_DATA_SEATTLE_FILES='./SRHK_Data/StreamingAssets/standalone/seattle' +ARCHIVE_GAME_DATA_SEATTLE_FILES='SRHK_Data/StreamingAssets/standalone/seattle' ARCHIVE_GAME_DATA_PATH='data/noarch/game' -ARCHIVE_GAME_DATA_FILES='./dictionary ./SRHK_Data' +ARCHIVE_GAME_DATA_FILES='dictionary SRHK_Data' DATA_DIRS='./DumpBox ./logs' @@ -73,9 +71,7 @@ APP_MAIN_EXE='SRHK' # shellcheck disable=SC2016 APP_MAIN_OPTIONS='-logFile ./logs/$(date +%F-%R).log' -APP_MAIN_ICONS_LIST='APP_MAIN_ICON' -APP_MAIN_ICON='./SRHK_Data/Resources/UnityPlayer.png' -APP_MAIN_ICON_RES='128' +APP_MAIN_ICON='SRHK_Data/Resources/UnityPlayer.png' PACKAGES_LIST='PKG_DATA_BERLIN PKG_DATA_HONGKONG PKG_DATA_SEATTLE PKG_DATA PKG_BIN' @@ -90,25 +86,37 @@ PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' +PKG_DATA_DEPS="$PKG_DATA_BERLIN $PKG_DATA_HONGKONG $PKG_DATA_SEATTLE" PKG_BIN_ARCH='32' -PKG_BIN_DEPS="$PKG_DATA_BERLIN $PKG_DATA_HONGKONG $PKG_DATA_SEATTLE $PKG_DATA_ID glu xcursor libxrandr alsa" +PKG_BIN_DEPS="$PKG_DATA_ID glibc libstdc++ glu xcursor libxrandr alsa gtk2 libgdk_pixbuf-2.0.so.0 libgobject-2.0.so.0 libglib-2.0.so.0" +PKG_BIN_DEPS_ARCH='lib32-libx11 lib32-libpulse' +PKG_BIN_DEPS_DEB='libx11-6, libpulse0' +PKG_BIN_DEPS_GENTOO='x11-libs/libX11[abi_x86_32] media-sound/pulseaudio[abi_x86_32]' # Load common functions -target_version='2.5' +target_version='2.12' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + for path in \ + "$PWD" \ + "${XDG_DATA_HOME:="$HOME/.local/share"}/play.it" \ + '/usr/local/share/games/play.it' \ + '/usr/local/share/play.it' \ + '/usr/share/games/play.it' \ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" @@ -116,36 +124,29 @@ # Extract game data extract_data_from "$SOURCE_ARCHIVE" +prepare_package_layout -PKG='PKG_BIN' -organize_data 'GAME_BIN' "$PATH_GAME" -chmod +x "${PKG_BIN_PATH}${PATH_GAME}/ShadowrunEditor" - -PKG='PKG_DATA_BERLIN' -organize_data 'GAME_DATA_BERLIN' "$PATH_GAME" +# Add missing execution permissions to the editor binary -PKG='PKG_DATA_HONGKONG' -organize_data 'GAME_DATA_HONGKONG' "$PATH_GAME" +chmod +x "${PKG_BIN_PATH}${PATH_GAME}/ShadowrunEditor" -PKG='PKG_DATA_SEATTLE' -organize_data 'GAME_DATA_SEATTLE' "$PATH_GAME" +# Get game icon PKG='PKG_DATA' -organize_data 'DOC' "$PATH_DOC" -organize_data 'GAME_DATA' "$PATH_GAME" +icons_get_from_package 'APP_MAIN' + +# Clean up temporary files rm --recursive "$PLAYIT_WORKDIR/gamedata" # Write launchers PKG='PKG_BIN' -write_launcher 'APP_MAIN' +launchers_write 'APP_MAIN' # Build package -postinst_icons_linking 'APP_MAIN' -write_metadata 'PKG_DATA' -write_metadata 'PKG_DATA_BERLIN' 'PKG_DATA_SEATTLE' 'PKG_DATA_HONGKONG' 'PKG_BIN' +write_metadata build_pkg # Clean up diff -Nru play.it-2.12.0/play.it-2/games/play-shadowrun-returns.sh play.it-2.12.1/play.it-2/games/play-shadowrun-returns.sh --- play.it-2.12.0/play.it-2/games/play-shadowrun-returns.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-shadowrun-returns.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -94,16 +94,25 @@ target_version='2.3' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-shadow-tactics.sh play.it-2.12.1/play.it-2/games/play-shadow-tactics.sh --- play.it-2.12.0/play.it-2/games/play-shadow-tactics.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-shadow-tactics.sh 2020-11-25 15:14:43.000000000 +0000 @@ -1,4 +1,4 @@ -#!/bin/sh -e +#!/bin/sh set -o errexit ### @@ -30,11 +30,11 @@ ### # Shadow Tactics: Blades of the Shogun -# build native Linux packages from the original installers -# send your bug reports to vv221@dotslashplay.it +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it ### -script_version=20181102.2 +script_version=20200808.2 # Set game-specific variables @@ -69,11 +69,14 @@ DATA_DIRS='./logs' APP_MAIN_TYPE='native' -APP_MAIN_PRERUN='export LANG=C' APP_MAIN_EXE='Shadow Tactics' +APP_MAIN_ICON='Shadow Tactics_Data/Resources/UnityPlayer.png' +# Common Unity3D tweaks +APP_MAIN_PRERUN='# Work around Unity3D poor support for non-US locales +export LANG=C' +# Use a per-session dedicated file for logs # shellcheck disable=SC2016 APP_MAIN_OPTIONS='-logFile ./logs/$(date +%F-%R).log' -APP_MAIN_ICON='Shadow Tactics_Data/Resources/UnityPlayer.png' PACKAGES_LIST='PKG_BIN PKG_LIGHTING PKG_DATA' @@ -84,11 +87,11 @@ PKG_DATA_DESCRIPTION='data' PKG_BIN_ARCH='32' -PKG_BIN_DEPS="$PKG_LIGHTING_ID $PKG_DATA_ID glibc libstdc++ glx libudev1 xcursor libxrandr" +PKG_BIN_DEPS="$PKG_LIGHTING_ID $PKG_DATA_ID glibc libstdc++ glx libudev1 xcursor libxrandr alsa" # Load common functions -target_version='2.10' +target_version='2.11' if [ -z "$PLAYIT_LIB2" ]; then : "${XDG_DATA_HOME:="$HOME/.local/share"}" @@ -111,13 +114,21 @@ printf 'libplayit2.sh not found.\n' exit 1 fi -#shellcheck source=play.it-2/lib/libplayit2.sh +# shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" # Extract game data extract_data_from "$SOURCE_ARCHIVE" prepare_package_layout + +# Get game icon + +PKG='PKG_DATA' +icons_get_from_package 'APP_MAIN' + +# Clean up temporary files + rm --recursive "$PLAYIT_WORKDIR/gamedata" # Write launchers @@ -127,10 +138,7 @@ # Build package -PKG='PKG_DATA' -icons_linking_postinst 'APP_MAIN' -write_metadata 'PKG_DATA' -write_metadata 'PKG_LIGHTING' 'PKG_BIN' +write_metadata build_pkg # Clean up diff -Nru play.it-2.12.0/play.it-2/games/play-shelter-2-paws.sh play.it-2.12.1/play.it-2/games/play-shelter-2-paws.sh --- play.it-2.12.0/play.it-2/games/play-shelter-2-paws.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-shelter-2-paws.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -89,16 +89,25 @@ target_version='2.4' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-shenzhen-io.sh play.it-2.12.1/play.it-2/games/play-shenzhen-io.sh --- play.it-2.12.0/play.it-2/games/play-shenzhen-io.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-shenzhen-io.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,149 @@ +#!/bin/sh -e +set -o errexit + +### +# Copyright (c) 2015-2019, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2018-2019, BetaRays +# 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. +### + +### +# SHENZHEN I/O +# build native Linux packages from the original installers +# send your bug reports to vv221@dotslashplay.it +### + +script_version=20190616.1 + +# Set game-specific variables + +GAME_ID='shenzhen-io' +GAME_NAME='SHENZHEN I/O' + +ARCHIVE_GOG='shenzhen_io_en_13_02_18613.sh' +ARCHIVE_GOG_URL='https://www.gog.com/game/shenzhen_io' +ARCHIVE_GOG_MD5='d7a3ccb58512bdc511d4fe8977480ff9' +ARCHIVE_GOG_VERSION='13.02-gog18613' +ARCHIVE_GOG_SIZE='450000' +ARCHIVE_GOG_TYPE='mojosetup' + +ARCHIVE_DOC0_DATA_PATH='data/noarch/docs' +ARCHIVE_DOC0_DATA_FILES='./*' + +ARCHIVE_DOC1_DATA_PATH='data/noarch/game/Content' +ARCHIVE_DOC1_DATA_FILES='./*.pdf' + +ARCHIVE_DOC2_DATA_PATH='data/noarch/game' +ARCHIVE_DOC2_DATA_FILES='LICENSE.txt' + +ARCHIVE_GAME_BIN_PATH='data/noarch/game' +ARCHIVE_GAME_BIN_FILES='*.dll Shenzhen.exe Shenzhen.exe.config' + +ARCHIVE_GAME_DATA_PATH='data/noarch/game' +ARCHIVE_GAME_DATA_FILES='Content PackedContent' + +DATA_FILES='Content/textures/desktop/loading.psd Content/textures/buttons/bottom.psd Content/textures/buttons/bottom_disabled.psd Content/textures/buttons/bottom_hover.psd Content/textures/buttons/inset_left.psd Content/textures/buttons/inset_middle.psd Content/textures/buttons/inset_right.psd Content/textures/buttons/top.psd Content/textures/buttons/top_hover.psd Content/textures/buttons/top_selected.psd Content/textures/buttons/virtual.psd Content/textures/buttons/virtual_hover.psd Content/textures/buttons/virtual_orange.psd Content/textures/buttons/virtual_orange_hover.psd Content/textures/buttons/virtual_white.psd Content/textures/buttons/virtual_white_hover.psd Content/textures/control_panel/list_drop.psd Content/textures/control_panel/slider_fill.psd Content/textures/desktop/border.psd Content/textures/desktop/border_no_gap.psd Content/textures/editor/background.psd Content/textures/editor/graph_data.psd Content/textures/editor/graph_data_initial.psd Content/textures/editor/graph_display.psd Content/textures/editor/graph_label.psd Content/textures/editor/panel.psd Content/textures/editor/parts_message.psd Content/textures/editor/parts_slider.psd Content/textures/editor/puzzle_info_left.psd Content/textures/editor/puzzle_info_right.psd Content/textures/editor/score_indicator_background.psd Content/textures/editor/tooltip.psd Content/textures/histograms/border_back.psd Content/textures/histograms/border_front.psd Content/textures/messenger/border_challenge.psd Content/textures/messenger/border_graphs.psd Content/textures/messenger/border_normal.psd Content/textures/messenger/divider_normal.psd Content/textures/messenger/inbox_divider.psd Content/textures/messenger/inbox_highlight.psd Content/textures/parts/hover.psd Content/textures/parts/hover_note.psd Content/textures/solitaire/card_back_upgrade.psd Content/textures/system_bar/body.psd Content/textures/system_bar/edge.psd Content/textures/window/left.psd Content/textures/window/list.psd Content/textures/window/list_with_buttons.psd Content/textures/window/main.psd Content/textures/window/main_alt.psd Content/textures/window/right.psd Content/textures/window/slider.psd PackedContent/fonts/notosans_cjk_regular_12.0_10_v4.packedfont PackedContent/fonts/notosans_cjk_bold_12.0_10_v4.packedfont PackedContent/fonts/notosans_cjk_regular_13.0_10_v4.packedfont PackedContent/fonts/notosans_cjk_bold_13.0_10_v4.packedfont PackedContent/fonts/notosans_cjk_regular_16.0_10_v4.packedfont PackedContent/fonts/notosans_cjk_bold_16.0_10_v4.packedfont PackedContent/fonts/notosans_cjk_regular_17.0_10_v4.packedfont PackedContent/fonts/notosans_cjk_bold_17.0_10_v4.packedfont PackedContent/fonts/notoserif_cjk_regular_32.0_10_v4.packedfont PackedContent/fonts/notosans_mono_cjk_regular_13.0_10_v4.packedfont PackedContent/fonts/roboto_regular_13.0_3_v4.packedfont PackedContent/fonts/roboto_bold_13.0_3_v4.packedfont PackedContent/fonts/roboto_italic_13.0_3_v4.packedfont PackedContent/fonts/roboto_regular_14.0_3_v4.packedfont PackedContent/fonts/roboto_bold_14.0_3_v4.packedfont PackedContent/fonts/roboto_italic_14.0_3_v4.packedfont PackedContent/fonts/roboto_regular_18.0_3_v4.packedfont PackedContent/fonts/roboto_bold_18.0_3_v4.packedfont PackedContent/fonts/roboto_italic_18.0_3_v4.packedfont PackedContent/fonts/glacial_regular_15.0_3_v4.packedfont PackedContent/fonts/glacial_bold_14.0_3_v4.packedfont PackedContent/fonts/glacial_italic_15.0_3_v4.packedfont PackedContent/fonts/glacial_regular_17.0_3_v4.packedfont PackedContent/fonts/glacial_bold_17.0_3_v4.packedfont PackedContent/fonts/glacial_italic_17.0_3_v4.packedfont PackedContent/fonts/sinkin_regular_12.0_3_v4.packedfont PackedContent/fonts/inconsolata_regular_14.0_3_v4.packedfont PackedContent/fonts/inconsolata_bold_14.0_3_v4.packedfont PackedContent/fonts/glacial_bold_22.0_3_v4.packedfont PackedContent/fonts/crimson_regular_36.0_3_v4.packedfont PackedContent/fonts/crimson_italic_36.0_3_v4.packedfont PackedContent/fonts/crimson_regular_44.0_3_v4.packedfont' + +APP_MAIN_TYPE='mono' +APP_MAIN_EXE='Shenzhen.exe' +APP_MAIN_ICON='Content/icon.png' + +PACKAGES_LIST='PKG_BIN PKG_DATA' + +PKG_DATA_ID="${GAME_ID}-data" +PKG_DATA_DESCRIPTION='data' + +PKG_BIN_DEPS="$PKG_DATA_ID mono" + +# Load common functions + +target_version='2.12' + +if [ -z "$PLAYIT_LIB2" ]; then + [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" + for path in\ + './'\ + "$XDG_DATA_HOME/play.it/"\ + "$XDG_DATA_HOME/play.it/play.it-2/lib/"\ + '/usr/local/share/games/play.it/'\ + '/usr/local/share/play.it/'\ + '/usr/share/games/play.it/'\ + '/usr/share/play.it/' + do + if [ -z "$PLAYIT_LIB2" ] && [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done + if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 + fi +fi +#shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +organize_data 'DOC1_DATA' "$PATH_DOC" +prepare_package_layout +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Write launchers + +PKG='PKG_BIN' +launcher_write 'APP_MAIN' + +# Build package + +PKG='PKG_DATA' +icons_linking_postinst 'APP_MAIN' +for manual in 'SHENZHEN_IO_Manual_Chinese.pdf' 'SHENZHEN_IO_Manual_English.pdf' 'SHENZHEN_IO_Manual.pdf'; do + cat >> "$postinst" <<- EOF + if [ ! -e "$PATH_GAME/$manual" ]; then + ln --symbolic "$PATH_DOC/$manual" "$PATH_GAME/Content/" + fi + EOF + cat >> "$prerm" << EOF + if [ -e "$PATH_GAME/Content/$manual" ]; then + rm "$PATH_GAME/Content/$manual" + fi +EOF +done +write_metadata 'PKG_DATA' +write_metadata 'PKG_BIN' +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-six-cats-under.sh play.it-2.12.1/play.it-2/games/play-six-cats-under.sh --- play.it-2.12.0/play.it-2/games/play-six-cats-under.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-six-cats-under.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,140 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2016-2020, Mopi +# 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. +### + +### +# Six Cats Under +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20201006.1 + +# Set game-specific variables + +GAME_ID='six-cats-under' +GAME_NAME='Six Cats Under' + +ARCHIVES_LIST=' +ARCHIVE_ITCH_0' + +ARCHIVE_ITCH_0='Six Cats Under - Linux.zip' +ARCHIVE_ITCH_0_URL='https://teambeanloop.itch.io/six-cats-under' +ARCHIVE_ITCH_0_MD5='c352fa55e864cb4f8c021764c9e825dd' +ARCHIVE_ITCH_0_SIZE='200000' +ARCHIVE_ITCH_0_VERSION='1.0-itch' +ARCHIVE_ITCH_0_TYPE='zip' + +ARCHIVE_GAME_BIN_PATH='.' +ARCHIVE_GAME_BIN_FILES='Six_Cats_Under.x86_64 Six_Cats_Under_Data/MonoBleedingEdge/x86_64 Six_Cats_Under_Data/Managed Six_Cats_Under_Data/Plugins LinuxPlayer_s.debug UnityPlayer_s.debug UnityPlayer.so' + +ARCHIVE_GAME_DATA_PATH='.' +ARCHIVE_GAME_DATA_FILES='Six_Cats_Under_Data' + +DATA_DIRS='./logs' + +APP_MAIN_TYPE='native' +APP_MAIN_PRERUN='# Work around Unity3D poor support for non-US locales +export LANG=C' +APP_MAIN_EXE='Six_Cats_Under.x86_64' +APP_MAIN_ICON='Six_Cats_Under_Data/Resources/UnityPlayer.png' +# Use a per-session dedicated file for logs +# shellcheck disable=SC2016 +APP_MAIN_OPTIONS='-logFile ./logs/$(date +%F-%R).log' + +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 glibc libstdc++" + +# Load common functions + +target_version='2.12' + +if [ -z "$PLAYIT_LIB2" ]; then + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +prepare_package_layout + +# Get icon + +PKG='PKG_DATA' +icons_get_from_package 'APP_MAIN' + +# Clean up temporary directories + +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Write launchers + +PKG='PKG_BIN' +launchers_write 'APP_MAIN' + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-skullgirls.sh play.it-2.12.1/play.it-2/games/play-skullgirls.sh --- play.it-2.12.0/play.it-2/games/play-skullgirls.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-skullgirls.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20171115.1 +script_version=20200918.1 # Set game-specific variables @@ -98,16 +98,25 @@ target_version='2.3' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-softporn-adventure.sh play.it-2.12.1/play.it-2/games/play-softporn-adventure.sh --- play.it-2.12.0/play.it-2/games/play-softporn-adventure.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-softporn-adventure.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180307.1 +script_version=20200918.1 # Set game-specific variables @@ -72,16 +72,25 @@ target_version='2.4' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-solar-2.sh play.it-2.12.1/play.it-2/games/play-solar-2.sh --- play.it-2.12.0/play.it-2/games/play-solar-2.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-solar-2.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -81,16 +81,25 @@ target_version='2.5' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-solar-flux.sh play.it-2.12.1/play.it-2/games/play-solar-flux.sh --- play.it-2.12.0/play.it-2/games/play-solar-flux.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-solar-flux.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -74,16 +74,25 @@ target_version='2.4' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-spellforce.sh play.it-2.12.1/play.it-2/games/play-spellforce.sh --- play.it-2.12.0/play.it-2/games/play-spellforce.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-spellforce.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -82,16 +82,25 @@ target_version='2.5' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-spring-falls.sh play.it-2.12.1/play.it-2/games/play-spring-falls.sh --- play.it-2.12.0/play.it-2/games/play-spring-falls.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-spring-falls.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,126 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2020, Hoël Bézier +# 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. +### + +### +# Spring Falls +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20200608.1 + +# Set game-specific variables + +GAME_ID='spring-falls' +GAME_NAME='Spring Falls' + +ARCHIVE_ITCH='Spring Falls v1.22 Linux.zip' +ARCHIVE_ITCH_URL='https://sparsegamedev.itch.io/spring-falls' +ARCHIVE_ITCH_MD5='4dfc2f3dde0d1f2abac252157413047c' +ARCHIVE_ITCH_VERSION='1.22-1' +ARCHIVE_ITCH_SIZE='140000' +ARCHIVE_ITCH_TYPE='zip' + +ARCHIVE_GAME_BIN_PATH='.' +ARCHIVE_GAME_BIN_FILES='SpringFalls.x86_64 SpringFalls_Data/Plugins SpringFalls_Data/MonoBleedingEdge/x86_64 SpringFalls_Data/Managed' + +ARCHIVE_GAME_DATA_PATH='.' +ARCHIVE_GAME_DATA_FILES='SpringFalls_Data' + +APP_MAIN_TYPE='native' +APP_MAIN_EXE='SpringFalls.x86_64' +APP_MAIN_ICON='SpringFalls_Data/Resources/UnityPlayer.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 glibc libstdc++ gtk2 libz.so.1 libgdk_pixbuf-2.0.so.0 libgobject-2.0.so.0 libglib-2.0.so.0" + +# Load common functions + +target_version='2.12' + +if [ -z "$PLAYIT_LIB2" ]; then + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +#shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +prepare_package_layout +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Extract icon + +PKG='PKG_DATA' +icons_get_from_package 'APP_MAIN' + +# Write launchers + +PKG='PKG_BIN' +launchers_write 'APP_MAIN' + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-stacking.sh play.it-2.12.1/play.it-2/games/play-stacking.sh --- play.it-2.12.0/play.it-2/games/play-stacking.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-stacking.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -76,16 +76,25 @@ target_version='2.3' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-stardew-valley.sh play.it-2.12.1/play.it-2/games/play-stardew-valley.sh --- play.it-2.12.0/play.it-2/games/play-stardew-valley.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-stardew-valley.sh 2020-11-25 15:14:43.000000000 +0000 @@ -35,7 +35,7 @@ # send your bug reports to contact@dotslashplay.it ### -script_version=20200401.1 +script_version=20200401.2 # Set game-specific variables @@ -80,19 +80,18 @@ ARCHIVE_GOG_OLD0_TYPE='mojosetup' ARCHIVE_GAME_BIN32_PATH='data/noarch/game' -ARCHIVE_GAME_BIN32_FILES='lib mcs.bin.x86 StardewValley.bin.x86' +ARCHIVE_GAME_BIN32_FILES='lib mcs.bin.x86' ARCHIVE_GAME_BIN64_PATH='data/noarch/game' -ARCHIVE_GAME_BIN64_FILES='lib64 mcs.bin.x86_64 StardewValley.bin.x86_64' +ARCHIVE_GAME_BIN64_FILES='lib64 mcs.bin.x86_64' ARCHIVE_GAME_DATA_PATH='data/noarch/game' -ARCHIVE_GAME_DATA_FILES='Content mono *.dll *.dll.config monoconfig StardewValley.exe' +ARCHIVE_GAME_DATA_FILES='Content mono monoconfig StardewValley.exe BmFont.dll GalaxyCSharp.dll GalaxyCSharp.dll.config libSkiaSharp.dll Lidgren.Network.dll MonoGame.Framework.dll MonoGame.Framework.dll.config SkiaSharp.dll StardewValley.GameData.dll xTile.dll xTilePipeline.dll' -APP_MAIN_TYPE='native' -# shellcheck disable=SC2016 -APP_MAIN_PRERUN='export TERM="${TERM%-256color}"' -APP_MAIN_EXE_BIN32='StardewValley.bin.x86' -APP_MAIN_EXE_BIN64='StardewValley.bin.x86_64' +APP_MAIN_TYPE='mono' +APP_MAIN_LIBS_BIN32='lib' +APP_MAIN_LIBS_BIN64='lib64' +APP_MAIN_EXE='StardewValley.exe' APP_MAIN_ICON='data/noarch/support/icon.png' PACKAGES_LIST='PKG_DATA PKG_BIN32 PKG_BIN64' @@ -101,14 +100,16 @@ PKG_DATA_DESCRIPTION='data' PKG_BIN32_ARCH='32' -PKG_BIN32_DEPS="$PKG_DATA_ID glibc libstdc++ openal sdl2 glx alsa" +PKG_BIN32_DEPS="$PKG_DATA_ID mono openal sdl2 glx alsa" +PKG_BIN32_DEPS_DEB='libmono-corlib4.5-cil, libmono-posix4.0-cil, libmono-security4.0-cil, libmono-system4.0-cil, libmono-system-configuration4.0-cil, libmono-system-core4.0-cil, libmono-system-data4.0-cil, libmono-system-drawing4.0-cil, libmono-system-runtime-serialization4.0-cil, libmono-system-security4.0-cil, libmono-system-xml4.0-cil, libmono-system-xml-linq4.0-cil, libmono-windowsbase4.0-cil' PKG_BIN64_ARCH='64' PKG_BIN64_DEPS="$PKG_BIN32_DEPS" +PKG_BIN64_DEPS_DEB="$PKG_BIN32_DEPS_DEB" # Load common functions -target_version='2.11' +target_version='2.12' if [ -z "$PLAYIT_LIB2" ]; then : "${XDG_DATA_HOME:="$HOME/.local/share"}" diff -Nru play.it-2.12.0/play.it-2/games/play-startopia.sh play.it-2.12.1/play.it-2/games/play-startopia.sh --- play.it-2.12.0/play.it-2/games/play-startopia.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-startopia.sh 2020-11-25 15:14:43.000000000 +0000 @@ -42,7 +42,6 @@ GAME_NAME='Startopia' ARCHIVE_GOG='setup_startopia_2.0.0.17.exe' -ARCHIVE_GOG_URL='https://www.gog.com/game/startopia' ARCHIVE_GOG_MD5='4fe8d194afc1012e136ed3e82f1de171' ARCHIVE_GOG_VERSION='1.01b-gog2.0.0.17' ARCHIVE_GOG_SIZE='600000' diff -Nru play.it-2.12.0/play.it-2/games/play-star-vikings-demo.sh play.it-2.12.1/play.it-2/games/play-star-vikings-demo.sh --- play.it-2.12.0/play.it-2/games/play-star-vikings-demo.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-star-vikings-demo.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -93,16 +93,25 @@ target_version='2.3' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-star-wars-battlefront-2.sh play.it-2.12.1/play.it-2/games/play-star-wars-battlefront-2.sh --- play.it-2.12.0/play.it-2/games/play-star-wars-battlefront-2.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-star-wars-battlefront-2.sh 2020-11-25 15:14:43.000000000 +0000 @@ -1,4 +1,4 @@ -#!/bin/sh -e +#!/bin/sh set -o errexit ### @@ -29,80 +29,97 @@ ### ### -# Star Wars Battlefront II +# Star Wars Battlefront Ⅱ # build native packages from the original installers -# send your bug reports to vv221@dotslashplay.it +# send your bug reports to contact@dotslashplay.it ### -script_version=20180919.8 +script_version=20200803.1 # Set game-specific variables GAME_ID='star-wars-battlefront-2' -GAME_NAME='Star Wars Battlefront II' +GAME_NAME='Star Wars Battlefront Ⅱ' -ARCHIVE_GOG='setup_star_wars_battlefront_ii_1.1_multiplayer_update_2_(17606).exe' -ARCHIVE_GOG_URL='https://www.gog.com/game/star_wars_battlefront_ii' -ARCHIVE_GOG_MD5='f482ec251067336d3b8211774b4c44f6' -ARCHIVE_GOG_VERSION='1.1.2-gog17606' -ARCHIVE_GOG_SIZE='11000000' -ARCHIVE_GOG_TYPE='innosetup1.7' -ARCHIVE_GOG_PART1='setup_star_wars_battlefront_ii_1.1_multiplayer_update_2_(17606)-1.bin' -ARCHIVE_GOG_PART1_MD5='c34b41f594e55b1522d8826f19cf958f' -ARCHIVE_GOG_PART1_TYPE='innosetup1.7' -ARCHIVE_GOG_PART2='setup_star_wars_battlefront_ii_1.1_multiplayer_update_2_(17606)-2.bin' -ARCHIVE_GOG_PART2_MD5='c9423f3983c67575c1c531e0d18e6a0f' -ARCHIVE_GOG_PART2_TYPE='innosetup1.7' - -ARCHIVE_GOG_OLD0='setup_sw_battlefront2_2.0.0.5.exe' -ARCHIVE_GOG_OLD0_MD5='51284c8a8e777868219e811ada284fb1' -ARCHIVE_GOG_OLD0_VERSION='1.1-gog2.0.0.5' -ARCHIVE_GOG_OLD0_SIZE='9100000' -ARCHIVE_GOG_OLD0_TYPE='rar' -ARCHIVE_GOG_OLD0_GOGID='1421404701' -ARCHIVE_GOG_OLD0_PART1='setup_sw_battlefront2_2.0.0.5-1.bin' -ARCHIVE_GOG_OLD0_PART1_MD5='dc36b03c9c43fb8d3cb9b92c947daaa4' -ARCHIVE_GOG_OLD0_PART1_TYPE='rar' -ARCHIVE_GOG_OLD0_PART2='setup_sw_battlefront2_2.0.0.5-2.bin' -ARCHIVE_GOG_OLD0_PART2_MD5='5d4000fd480a80b6e7c7b73c5a745368' -ARCHIVE_GOG_OLD0_PART2_TYPE='rar' - -ARCHIVE_OPTIONAL_ICONS='star-wars-battlefront-2_icons.tar.gz' -ARCHIVE_OPTIONAL_ICONS_URL='https://downloads.dotslashplay.it/resources/star-wars-battlefront-2/' -ARCHIVE_OPTIONAL_ICONS_MD5='322275011d37ac219f1c06c196477fa4' +ARCHIVES_LIST=' +ARCHIVE_GOG_2 +ARCHIVE_GOG_1 +ARCHIVE_GOG_0' + +ARCHIVE_GOG_2='setup_star_wars_battlefront_ii_1.1_(10935).exe' +ARCHIVE_GOG_2_URL='https://www.gog.com/game/star_wars_battlefront_ii' +ARCHIVE_GOG_2_MD5='0b74c1d7cced6d6bde95605661b67673' +ARCHIVE_GOG_2_VERSION='1.1-gog10935' +ARCHIVE_GOG_2_SIZE='10000000' +ARCHIVE_GOG_2_TYPE='innosetup' +ARCHIVE_GOG_2_PART1='setup_star_wars_battlefront_ii_1.1_(10935)-1.bin' +ARCHIVE_GOG_2_PART1_MD5='c7ad88e5eb89b3701dad3a6973d9918b' +ARCHIVE_GOG_2_PART1_TYPE='innosetup' +ARCHIVE_GOG_2_PART2='setup_star_wars_battlefront_ii_1.1_(10935)-2.bin' +ARCHIVE_GOG_2_PART2_MD5='3a52d98aa43cb78fd661a656e5cf96a2' +ARCHIVE_GOG_2_PART2_TYPE='innosetup' + +ARCHIVE_GOG_1='setup_star_wars_battlefront_ii_1.1_multiplayer_update_2_(17606).exe' +ARCHIVE_GOG_1_MD5='f482ec251067336d3b8211774b4c44f6' +ARCHIVE_GOG_1_VERSION='1.1-gog17606' +ARCHIVE_GOG_1_SIZE='11000000' +ARCHIVE_GOG_1_TYPE='innosetup1.7' +ARCHIVE_GOG_1_PART1='setup_star_wars_battlefront_ii_1.1_multiplayer_update_2_(17606)-1.bin' +ARCHIVE_GOG_1_PART1_MD5='c34b41f594e55b1522d8826f19cf958f' +ARCHIVE_GOG_1_PART1_TYPE='innosetup1.7' +ARCHIVE_GOG_1_PART2='setup_star_wars_battlefront_ii_1.1_multiplayer_update_2_(17606)-2.bin' +ARCHIVE_GOG_1_PART2_MD5='c9423f3983c67575c1c531e0d18e6a0f' +ARCHIVE_GOG_1_PART2_TYPE='innosetup1.7' + +ARCHIVE_GOG_0='setup_sw_battlefront2_2.0.0.5.exe' +ARCHIVE_GOG_0_MD5='51284c8a8e777868219e811ada284fb1' +ARCHIVE_GOG_0_VERSION='1.1-gog2.0.0.5' +ARCHIVE_GOG_0_SIZE='9100000' +ARCHIVE_GOG_0_TYPE='rar' +ARCHIVE_GOG_0_GOGID='1421404701' +ARCHIVE_GOG_0_PART1='setup_sw_battlefront2_2.0.0.5-1.bin' +ARCHIVE_GOG_0_PART1_MD5='dc36b03c9c43fb8d3cb9b92c947daaa4' +ARCHIVE_GOG_0_PART1_TYPE='rar' +ARCHIVE_GOG_0_PART2='setup_sw_battlefront2_2.0.0.5-2.bin' +ARCHIVE_GOG_0_PART2_MD5='5d4000fd480a80b6e7c7b73c5a745368' +ARCHIVE_GOG_0_PART2_TYPE='rar' ARCHIVE_DOC_DATA_PATH='.' ARCHIVE_DOC_DATA_FILES='*.pdf' # Keep compatibility with old archives -ARCHIVE_DOC_DATA_PATH_GOG_OLD0='game' +ARCHIVE_DOC_DATA_PATH_GOG_0='game' ARCHIVE_GAME_BIN_PATH='gamedata' ARCHIVE_GAME_BIN_FILES='*.dll *.exe' # Keep compatibility with old archives -ARCHIVE_GAME_BIN_PATH_GOG_OLD0='game/gamedata' +ARCHIVE_GAME_BIN_PATH_GOG_0='game/gamedata' ARCHIVE_GAME_MOVIES_PATH='gamedata' ARCHIVE_GAME_MOVIES_FILES='data/_lvl_pc/movies' # Keep compatibility with old archives -ARCHIVE_GAME_MOVIES_PATH_GOG_OLD0='game/gamedata' +ARCHIVE_GAME_MOVIES_PATH_GOG_0='game/gamedata' ARCHIVE_GAME_DATA_PATH='gamedata' ARCHIVE_GAME_DATA_FILES='data' # Keep compatibility with old archives -ARCHIVE_GAME_DATA_PATH_GOG_OLD0='game/gamedata' +ARCHIVE_GAME_DATA_PATH_GOG_0='game/gamedata' +# Optional icons pack, for archives not providing a game icon to use for the menu entry +ARCHIVE_OPTIONAL_ICONS='star-wars-battlefront-2_icons.tar.gz' +ARCHIVE_OPTIONAL_ICONS_URL='https://downloads.dotslashplay.it/resources/star-wars-battlefront-2/' +ARCHIVE_OPTIONAL_ICONS_MD5='322275011d37ac219f1c06c196477fa4' ARCHIVE_ICONS_PATH='.' ARCHIVE_ICONS_FILES='16x16 32x32' -CONFIG_FILES='./data/_lvl_pc/*.ini' +CONFIG_FILES='data/_lvl_pc/*.ini' DATA_DIRS='./savegames' -APP_WINETRICKS="vd=\$(xrandr|grep '\\*'|awk '{print \$1}')" +APP_WINETRICKS="vd=\$(xrandr|awk '/\\*/ {print \$1}')" APP_MAIN_TYPE='wine' APP_MAIN_EXE='battlefrontii.exe' # Keep compatibility with old archives -APP_MAIN_ICON_GOG_OLD0='battlefrontii.exe' +APP_MAIN_ICON_GOG_0='battlefrontii.exe' PACKAGES_LIST='PKG_MOVIES PKG_BIN PKG_DATA' @@ -117,7 +134,7 @@ # Load common functions -target_version='2.10' +target_version='2.11' if [ -z "$PLAYIT_LIB2" ]; then : "${XDG_DATA_HOME:="$HOME/.local/share"}" @@ -140,16 +157,42 @@ printf 'libplayit2.sh not found.\n' exit 1 fi -#shellcheck source=play.it-2/lib/libplayit2.sh +# shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" -# Load optional icons pack +# Include optional icons pack case "$ARCHIVE" in - ('ARCHIVE_GOG_OLD0');; + ('ARCHIVE_GOG_0') + # Icons are already provided by this archive + use_archive_specific_value 'APP_MAIN_ICON' + ;; (*) ARCHIVE_MAIN="$ARCHIVE" set_archive 'ARCHIVE_ICONS' 'ARCHIVE_OPTIONAL_ICONS' + if [ "$ARCHIVE_ICONS" ]; then + ( + ARCHIVE='ARCHIVE_ICONS' + extract_data_from "$ARCHIVE_ICONS" + ) + PKG='PKG_DATA' + organize_data 'ICONS' "$PATH_ICON_BASE" + rm --recursive "$PLAYIT_WORKDIR/gamedata" + else + case "${LANG%_*}" in + ('fr') + message='Lʼarchive suivante nʼayant pas été fournie, lʼentrée de menu utilisera une icône générique : %s\n' + message="$message"'Cette archive peut être téléchargée depuis %s\n' + ;; + ('en'|*) + message='Due to the following archive missing, the menu entry will use a generic icon: %s\n' + message="$message"'This archive can be downloaded from %s\n' + ;; + esac + print_warning + printf "$message" "$ARCHIVE_OPTIONAL_ICONS" "$ARCHIVE_OPTIONAL_ICONS_URL" + printf '\n' + fi ARCHIVE="$ARCHIVE_MAIN" ;; esac @@ -157,7 +200,7 @@ # Extract game data case "$ARCHIVE" in - ('ARCHIVE_GOG_OLD0') + ('ARCHIVE_GOG_0') ln --symbolic "$(readlink --canonicalize "$SOURCE_ARCHIVE_PART1")" "$PLAYIT_WORKDIR/$GAME_ID.r00" ln --symbolic "$(readlink --canonicalize "$SOURCE_ARCHIVE_PART2")" "$PLAYIT_WORKDIR/$GAME_ID.r01" extract_data_from "$PLAYIT_WORKDIR/$GAME_ID.r00" @@ -168,34 +211,25 @@ ;; esac prepare_package_layout -rm --recursive "$PLAYIT_WORKDIR/gamedata" -# Estract icons +# Get game icons case "$ARCHIVE" in - ('ARCHIVE_GOG_OLD0') + ('ARCHIVE_GOG_0') PKG='PKG_BIN' - use_archive_specific_value 'APP_MAIN_ICON' icons_get_from_package 'APP_MAIN' icons_move_to 'PKG_DATA' ;; - (*) - if [ "$ARCHIVE_ICONS" ]; then - ( - ARCHIVE='ARCHIVE_ICONS' - extract_data_from "$ARCHIVE_ICONS" - ) - PKG='PKG_DATA' - organize_data 'ICONS' "$PATH_ICON_BASE" - rm --recursive "$PLAYIT_WORKDIR/gamedata" - fi - ;; esac +# Clean up temporary files + +rm --recursive "$PLAYIT_WORKDIR/gamedata" + # Write launchers PKG='PKG_BIN' -write_launcher 'APP_MAIN' +launchers_write 'APP_MAIN' # Build package diff -Nru play.it-2.12.0/play.it-2/games/play-star-wars-galactic-battlegrounds.sh play.it-2.12.1/play.it-2/games/play-star-wars-galactic-battlegrounds.sh --- play.it-2.12.0/play.it-2/games/play-star-wars-galactic-battlegrounds.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-star-wars-galactic-battlegrounds.sh 2020-11-25 15:14:43.000000000 +0000 @@ -31,10 +31,10 @@ ### # Star Wars: Galactic Battlegrounds # build native packages from the original installers -# send your bug reports to vv221@dotslashplay.it +# send your bug reports to contact@dotslashplay.it ### -script_version=20190224.1 +script_version=20200803.1 # Set game-specific variables @@ -152,6 +152,15 @@ "CDPath"="C:" EOF +# Work around crash on resolution change +# cf. https://forge.dotslashplay.it/play.it/games/-/issues/464 + +cat >> "${PKG_BIN_PATH}${PATH_GAME}/swgb.reg" << 'EOF' + +[HKEY_CURRENT_USER\Software\Wine\Direct3D] +"renderer"="gdi" +EOF + # Build package write_metadata diff -Nru play.it-2.12.0/play.it-2/games/play-star-wars-knights-of-the-old-republic-2.sh play.it-2.12.1/play.it-2/games/play-star-wars-knights-of-the-old-republic-2.sh --- play.it-2.12.0/play.it-2/games/play-star-wars-knights-of-the-old-republic-2.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-star-wars-knights-of-the-old-republic-2.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to contact@dotslashplay.it ### -script_version=20200614.2 +script_version=20200614.4 # Set game-specific variables @@ -42,12 +42,23 @@ GAME_NAME='Star Wars: Knights of the Old Republic Ⅱ - The Sith Lords' ARCHIVES_LIST=' +ARCHIVE_GOG_DE_1 ARCHIVE_GOG_EN_1 ARCHIVE_GOG_FR_1 ARCHIVE_GOG_RAR_EN_0 ARCHIVE_GOG_RAR_FR_0 ' +ARCHIVE_GOG_DE_1='setup_star_wars_-_knights_of_the_old_republic_ii_1.0b_(german)_(29869).exe' +ARCHIVE_GOG_DE_1_URL='https://www.gog.com/game/star_wars_knights_of_the_old_republic_ii_the_sith_lords' +ARCHIVE_GOG_DE_1_MD5='fa7e9e961dfe14d730c4ec571ebe6f0e' +ARCHIVE_GOG_DE_1_TYPE='innosetup' +ARCHIVE_GOG_DE_1_VERSION='1.0b-gog29869' +ARCHIVE_GOG_DE_1_SIZE='4600000' +ARCHIVE_GOG_DE_1_PART1='setup_star_wars_-_knights_of_the_old_republic_ii_1.0b_(german)_(29869)-1.bin' +ARCHIVE_GOG_DE_1_PART1_MD5='26ebb49d133a564538be2d3a5b35c3d2' +ARCHIVE_GOG_DE_1_PART1_TYPE='innosetup' + ARCHIVE_GOG_EN_1='setup_star_wars_-_knights_of_the_old_republic_ii_1.0b_(29869).exe' ARCHIVE_GOG_EN_1_URL='https://www.gog.com/game/star_wars_knights_of_the_old_republic_ii_the_sith_lords' ARCHIVE_GOG_EN_1_MD5='7f7a2e14e5ebadf14c0cdbb1ee807521' @@ -112,7 +123,7 @@ ARCHIVE_GAME_DATA_PATH_GOG_RAR='game' CONFIG_FILES='./*.ini' -DATA_DIRS='./override ./saves' +DATA_DIRS='./saves' APP_MAIN_TYPE='wine' APP_MAIN_EXE='swkotor2.exe' @@ -131,6 +142,10 @@ PKG_L10N_ID="${GAME_ID}-l10n" PKG_L10N_PROVIDE="$PKG_L10N_ID" +# Localization package - German +PKG_L10N_ID_GOG_DE="${PKG_L10N_ID}-de" +PKG_L10N_DESCRIPTION_GOG_DE='German localization' + # Localization package - English PKG_L10N_ID_GOG_EN="${PKG_L10N_ID}-en" PKG_L10N_DESCRIPTION_GOG_EN='English localization' diff -Nru play.it-2.12.0/play.it-2/games/play-stellaris-ancient-relics-story-pack.sh play.it-2.12.1/play.it-2/games/play-stellaris-ancient-relics-story-pack.sh --- play.it-2.12.0/play.it-2/games/play-stellaris-ancient-relics-story-pack.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-stellaris-ancient-relics-story-pack.sh 2020-11-25 15:14:43.000000000 +0000 @@ -2,7 +2,7 @@ set -o errexit ### -# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2015-2020, Antoine Le Gonidec # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -34,7 +34,7 @@ # send your bug reports to contact@dotslashplay.it ### -script_version=20200706.1 +script_version=20201030.1 # Set game-specific variables @@ -42,11 +42,18 @@ GAME_NAME='Stellaris - Ancient Relics Story Pack' ARCHIVES_LIST=' +ARCHIVE_GOG_2 ARCHIVE_GOG_1 ARCHIVE_GOG_0' +ARCHIVE_GOG_2='stellaris_ancient_relics_2_8_0_3_42321.sh' +ARCHIVE_GOG_2_URL='https://www.gog.com/game/stellaris_ancient_relics_story_pack' +ARCHIVE_GOG_2_MD5='5e3509ccddcf8759773ce8161a081f36' +ARCHIVE_GOG_2_SIZE='34000' +ARCHIVE_GOG_2_VERSION='2.8.0.3-gog42321' +ARCHIVE_GOG_2_TYPE='mojosetup_unzip' + ARCHIVE_GOG_1='stellaris_ancient_relics_story_pack_2_7_2_38578.sh' -ARCHIVE_GOG_1_URL='https://www.gog.com/game/stellaris_ancient_relics_story_pack' ARCHIVE_GOG_1_MD5='a4b7251cd695846f650da58e58aea6bc' ARCHIVE_GOG_1_SIZE='34000' ARCHIVE_GOG_1_VERSION='2.7.2-gog38578' @@ -68,16 +75,15 @@ # Load common functions -target_version='2.11' +target_version='2.12' if [ -z "$PLAYIT_LIB2" ]; then - : "${XDG_DATA_HOME:="$HOME/.local/share"}" - for path in\ - "$PWD"\ - "$XDG_DATA_HOME/play.it"\ - '/usr/local/share/games/play.it'\ - '/usr/local/share/play.it'\ - '/usr/share/games/play.it'\ + for path in \ + "$PWD" \ + "${XDG_DATA_HOME:="$HOME/.local/share"}/play.it" \ + '/usr/local/share/games/play.it' \ + '/usr/local/share/play.it' \ + '/usr/share/games/play.it' \ '/usr/share/play.it' do if [ -e "$path/libplayit2.sh" ]; then diff -Nru play.it-2.12.0/play.it-2/games/play-stellaris-anniversary-portraits.sh play.it-2.12.1/play.it-2/games/play-stellaris-anniversary-portraits.sh --- play.it-2.12.0/play.it-2/games/play-stellaris-anniversary-portraits.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-stellaris-anniversary-portraits.sh 2020-11-25 15:14:43.000000000 +0000 @@ -2,7 +2,7 @@ set -o errexit ### -# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2015-2020, Antoine Le Gonidec # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -34,7 +34,7 @@ # send your bug reports to contact@dotslashplay.it ### -script_version=20200615.1 +script_version=20201030.1 # Set game-specific variables @@ -46,6 +46,7 @@ GAME_NAME_VOID="$GAME_NAME - Creatures of the Void Portrait Pack" ARCHIVES_LIST=' +ARCHIVE_GOG_16 ARCHIVE_GOG_15 ARCHIVE_GOG_14 ARCHIVE_GOG_13 @@ -66,8 +67,14 @@ ARCHIVE_GOG_UNMERGED_1 ARCHIVE_GOG_UNMERGED_0' +ARCHIVE_GOG_16='stellaris_anniversary_portraits_2_8_0_3_42321.sh' +ARCHIVE_GOG_16_URL='https://www.gog.com/game/stellaris_anniversary_portraits' +ARCHIVE_GOG_16_MD5='ca3ddc40e9d8dd064366eea179452c4f' +ARCHIVE_GOG_16_SIZE='1400' +ARCHIVE_GOG_16_VERSION='2.8.0.3-gog42321' +ARCHIVE_GOG_16_TYPE='mojosetup_unzip' + ARCHIVE_GOG_15='stellaris_anniversary_portraits_2_7_2_38578.sh' -ARCHIVE_GOG_15_URL='https://www.gog.com/game/stellaris_anniversary_portraits' ARCHIVE_GOG_15_MD5='90c744f460570fbab96176a39cb4b857' ARCHIVE_GOG_15_SIZE='1400' ARCHIVE_GOG_15_VERSION='2.7.2-gog38578' @@ -209,16 +216,15 @@ # Load common functions -target_version='2.11' +target_version='2.12' if [ -z "$PLAYIT_LIB2" ]; then - : "${XDG_DATA_HOME:="$HOME/.local/share"}" - for path in\ - "$PWD"\ - "$XDG_DATA_HOME/play.it"\ - '/usr/local/share/games/play.it'\ - '/usr/local/share/play.it'\ - '/usr/share/games/play.it'\ + for path in \ + "$PWD" \ + "${XDG_DATA_HOME:="$HOME/.local/share"}/play.it" \ + '/usr/local/share/games/play.it' \ + '/usr/local/share/play.it' \ + '/usr/share/games/play.it' \ '/usr/share/play.it' do if [ -e "$path/libplayit2.sh" ]; then diff -Nru play.it-2.12.0/play.it-2/games/play-stellaris-apocalypse.sh play.it-2.12.1/play.it-2/games/play-stellaris-apocalypse.sh --- play.it-2.12.0/play.it-2/games/play-stellaris-apocalypse.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-stellaris-apocalypse.sh 2020-11-25 15:14:43.000000000 +0000 @@ -2,7 +2,7 @@ set -o errexit ### -# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2015-2020, Antoine Le Gonidec # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -34,7 +34,7 @@ # send your bug reports to contact@dotslashplay.it ### -script_version=20200516.1 +script_version=20201030.1 # Set game-specific variables @@ -42,10 +42,24 @@ GAME_NAME='Stellaris - Apocalypse' ARCHIVES_LIST=' +ARCHIVE_GOG_2 +ARCHIVE_GOG_1 ARCHIVE_GOG_0' +ARCHIVE_GOG_2='stellaris_apocalypse_2_8_0_3_42321.sh' +ARCHIVE_GOG_2_URL='https://www.gog.com/game/stellaris_apocalypse' +ARCHIVE_GOG_2_MD5='6ab9d43f5cf3d48e84907703b5d3a72f' +ARCHIVE_GOG_2_SIZE='39000' +ARCHIVE_GOG_2_VERSION='2.8.0.3-gog42321' +ARCHIVE_GOG_2_TYPE='mojosetup_unzip' + +ARCHIVE_GOG_1='stellaris_apocalypse_2_7_2_38578.sh' +ARCHIVE_GOG_1_MD5='0a86936e22a9f6be045e9e28de6745c3' +ARCHIVE_GOG_1_SIZE='39000' +ARCHIVE_GOG_1_VERSION='2.7.2-gog38578' +ARCHIVE_GOG_1_TYPE='mojosetup_unzip' + ARCHIVE_GOG_0='stellaris_apocalypse_2_7_1_38218.sh' -ARCHIVE_GOG_0_URL='https://www.gog.com/game/stellaris_apocalypse' ARCHIVE_GOG_0_MD5='93e2c7d56779348f2c842f91004d35c4' ARCHIVE_GOG_0_SIZE='39000' ARCHIVE_GOG_0_VERSION='2.7.1-gog38218' @@ -61,16 +75,15 @@ # Load common functions -target_version='2.11' +target_version='2.12' if [ -z "$PLAYIT_LIB2" ]; then - : "${XDG_DATA_HOME:="$HOME/.local/share"}" - for path in\ - "$PWD"\ - "$XDG_DATA_HOME/play.it"\ - '/usr/local/share/games/play.it'\ - '/usr/local/share/play.it'\ - '/usr/share/games/play.it'\ + for path in \ + "$PWD" \ + "${XDG_DATA_HOME:="$HOME/.local/share"}/play.it" \ + '/usr/local/share/games/play.it' \ + '/usr/local/share/play.it' \ + '/usr/share/games/play.it' \ '/usr/share/play.it' do if [ -e "$path/libplayit2.sh" ]; then diff -Nru play.it-2.12.0/play.it-2/games/play-stellaris-arachnoid-portrait-pack.sh play.it-2.12.1/play.it-2/games/play-stellaris-arachnoid-portrait-pack.sh --- play.it-2.12.0/play.it-2/games/play-stellaris-arachnoid-portrait-pack.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-stellaris-arachnoid-portrait-pack.sh 2020-11-25 15:14:43.000000000 +0000 @@ -2,7 +2,7 @@ set -o errexit ### -# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2015-2020, Antoine Le Gonidec # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -34,7 +34,7 @@ # send your bug reports to contact@dotslashplay.it ### -script_version=20200615.1 +script_version=20201030.1 # Set game-specific variables @@ -42,6 +42,7 @@ GAME_NAME='Stellaris - Arachnoid Portrait Pack' ARCHIVES_LIST=' +ARCHIVE_GOG_17 ARCHIVE_GOG_16 ARCHIVE_GOG_15 ARCHIVE_GOG_14 @@ -60,8 +61,14 @@ ARCHIVE_GOG_1 ARCHIVE_GOG_0' +ARCHIVE_GOG_17='stellaris_arachnoid_portrait_pack_2_8_0_3_42321.sh' +ARCHIVE_GOG_17_URL='https://www.gog.com/game/stellaris_galaxy_edition_upgrade_pack' +ARCHIVE_GOG_17_MD5='bc3e4830f3c0a8b01c29e43b468fd04c' +ARCHIVE_GOG_17_SIZE='1400' +ARCHIVE_GOG_17_VERSION='2.8.0.3-gog42321' +ARCHIVE_GOG_17_TYPE='mojosetup_unzip' + ARCHIVE_GOG_16='stellaris_arachnoid_portrait_pack_2_7_2_38578.sh' -ARCHIVE_GOG_16_URL='https://www.gog.com/game/stellaris_galaxy_edition_upgrade_pack' ARCHIVE_GOG_16_MD5='d22f4806ef98492c7f10540393e7b0c7' ARCHIVE_GOG_16_SIZE='1400' ARCHIVE_GOG_16_VERSION='2.7.2-gog38578' @@ -173,16 +180,15 @@ # Load common functions -target_version='2.11' +target_version='2.12' if [ -z "$PLAYIT_LIB2" ]; then - : "${XDG_DATA_HOME:="$HOME/.local/share"}" - for path in\ - "$PWD"\ - "$XDG_DATA_HOME/play.it"\ - '/usr/local/share/games/play.it'\ - '/usr/local/share/play.it'\ - '/usr/share/games/play.it'\ + for path in \ + "$PWD" \ + "${XDG_DATA_HOME:="$HOME/.local/share"}/play.it" \ + '/usr/local/share/games/play.it' \ + '/usr/local/share/play.it' \ + '/usr/share/games/play.it' \ '/usr/share/play.it' do if [ -e "$path/libplayit2.sh" ]; then diff -Nru play.it-2.12.0/play.it-2/games/play-stellaris-distant-stars-story-pack.sh play.it-2.12.1/play.it-2/games/play-stellaris-distant-stars-story-pack.sh --- play.it-2.12.0/play.it-2/games/play-stellaris-distant-stars-story-pack.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-stellaris-distant-stars-story-pack.sh 2020-11-25 15:14:43.000000000 +0000 @@ -2,7 +2,7 @@ set -o errexit ### -# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2015-2020, Antoine Le Gonidec # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -34,7 +34,7 @@ # send your bug reports to contact@dotslashplay.it ### -script_version=20200615.1 +script_version=20201030.1 # Set game-specific variables @@ -42,6 +42,7 @@ GAME_NAME='Stellaris - Distant Stars Story Pack' ARCHIVES_LIST=' +ARCHIVE_GOG_13 ARCHIVE_GOG_12 ARCHIVE_GOG_11 ARCHIVE_GOG_10 @@ -56,8 +57,14 @@ ARCHIVE_GOG_1 ARCHIVE_GOG_0' +ARCHIVE_GOG_13='stellaris_distant_stars_story_pack_2_8_0_3_42321.sh' +ARCHIVE_GOG_13_URL='https://www.gog.com/game/stellaris_distant_stars_story_pack' +ARCHIVE_GOG_13_MD5='e7389b1955112634095fd5ee587e6e1e' +ARCHIVE_GOG_13_SIZE='22000' +ARCHIVE_GOG_13_VERSION='2.8.0.3-gog42321' +ARCHIVE_GOG_13_TYPE='mojosetup_unzip' + ARCHIVE_GOG_12='stellaris_distant_stars_story_pack_2_7_2_38578.sh' -ARCHIVE_GOG_12_URL='https://www.gog.com/game/stellaris_distant_stars_story_pack' ARCHIVE_GOG_12_MD5='b13d46fe6a3ef257520aba8804395717' ARCHIVE_GOG_12_SIZE='22000' ARCHIVE_GOG_12_VERSION='2.7.2-gog38578' @@ -145,16 +152,15 @@ # Load common functions -target_version='2.11' +target_version='2.12' if [ -z "$PLAYIT_LIB2" ]; then - : "${XDG_DATA_HOME:="$HOME/.local/share"}" - for path in\ - "$PWD"\ - "$XDG_DATA_HOME/play.it"\ - '/usr/local/share/games/play.it'\ - '/usr/local/share/play.it'\ - '/usr/share/games/play.it'\ + for path in \ + "$PWD" \ + "${XDG_DATA_HOME:="$HOME/.local/share"}/play.it" \ + '/usr/local/share/games/play.it' \ + '/usr/local/share/play.it' \ + '/usr/share/games/play.it' \ '/usr/share/play.it' do if [ -e "$path/libplayit2.sh" ]; then diff -Nru play.it-2.12.0/play.it-2/games/play-stellaris-horizon-signal.sh play.it-2.12.1/play.it-2/games/play-stellaris-horizon-signal.sh --- play.it-2.12.0/play.it-2/games/play-stellaris-horizon-signal.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-stellaris-horizon-signal.sh 2020-11-25 15:14:43.000000000 +0000 @@ -2,7 +2,7 @@ set -o errexit ### -# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2015-2020, Antoine Le Gonidec # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -34,7 +34,7 @@ # send your bug reports to contact@dotslashplay.it ### -script_version=20200615.1 +script_version=20201030.1 # Set game-specific variables @@ -42,6 +42,7 @@ GAME_NAME='Stellaris - Horizon Signal' ARCHIVES_LIST=' +ARCHIVE_GOG_19 ARCHIVE_GOG_18 ARCHIVE_GOG_17 ARCHIVE_GOG_16 @@ -62,8 +63,14 @@ ARCHIVE_GOG_1 ARCHIVE_GOG_0' +ARCHIVE_GOG_19='stellaris_horizon_signal_2_8_0_3_42321.sh' +ARCHIVE_GOG_19_URL='https://www.gog.com/game/stellaris_horizon_signal' +ARCHIVE_GOG_19_MD5='96a89b87808b32097f9f9446819cafc9' +ARCHIVE_GOG_19_SIZE='1400' +ARCHIVE_GOG_19_VERSION='2.8.0.3-gog42321' +ARCHIVE_GOG_19_TYPE='mojosetup_unzip' + ARCHIVE_GOG_18='stellaris_horizon_signal_2_7_2_38578.sh' -ARCHIVE_GOG_18_URL='https://www.gog.com/game/stellaris_horizon_signal' ARCHIVE_GOG_18_MD5='8afefafaddba2dc3e83e4b9a8321a6d3' ARCHIVE_GOG_18_SIZE='1400' ARCHIVE_GOG_18_VERSION='2.7.2-gog38578' @@ -190,16 +197,15 @@ # Load common functions -target_version='2.11' +target_version='2.12' if [ -z "$PLAYIT_LIB2" ]; then - : "${XDG_DATA_HOME:="$HOME/.local/share"}" - for path in\ - "$PWD"\ - "$XDG_DATA_HOME/play.it"\ - '/usr/local/share/games/play.it'\ - '/usr/local/share/play.it'\ - '/usr/share/games/play.it'\ + for path in \ + "$PWD" \ + "${XDG_DATA_HOME:="$HOME/.local/share"}/play.it" \ + '/usr/local/share/games/play.it' \ + '/usr/local/share/play.it' \ + '/usr/share/games/play.it' \ '/usr/share/play.it' do if [ -e "$path/libplayit2.sh" ]; then diff -Nru play.it-2.12.0/play.it-2/games/play-stellaris-humanoids-species-pack.sh play.it-2.12.1/play.it-2/games/play-stellaris-humanoids-species-pack.sh --- play.it-2.12.0/play.it-2/games/play-stellaris-humanoids-species-pack.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-stellaris-humanoids-species-pack.sh 2020-11-25 15:14:43.000000000 +0000 @@ -2,7 +2,7 @@ set -o errexit ### -# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2015-2020, Antoine Le Gonidec # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -34,7 +34,7 @@ # send your bug reports to contact@dotslashplay.it ### -script_version=20200615.1 +script_version=20201030.2 # Set game-specific variables @@ -42,6 +42,7 @@ GAME_NAME='Stellaris - Humanoids Species Pack' ARCHIVES_LIST=' +ARCHIVE_GOG_14 ARCHIVE_GOG_13 ARCHIVE_GOG_12 ARCHIVE_GOG_11 @@ -57,8 +58,14 @@ ARCHIVE_GOG_1 ARCHIVE_GOG_0' +ARCHIVE_GOG_14='stellaris_humanoids_species_pack_2_8_0_3_42321.sh' +ARCHIVE_GOG_14_URL='https://www.gog.com/game/stellaris_humanoids_species_pack' +ARCHIVE_GOG_14_MD5='cb509344d223f04b9c0edaaa13c298a6' +ARCHIVE_GOG_14_SIZE='120000' +ARCHIVE_GOG_14_VERSION='2.8.0.3-gog42321' +ARCHIVE_GOG_14_TYPE='mojosetup_unzip' + ARCHIVE_GOG_13='stellaris_humanoids_species_pack_2_7_2_38578.sh' -ARCHIVE_GOG_13_URL='https://www.gog.com/game/stellaris_humanoids_species_pack' ARCHIVE_GOG_13_MD5='066f60345e31ce921d3df602382ca02c' ARCHIVE_GOG_13_SIZE='120000' ARCHIVE_GOG_13_VERSION='2.7.2-gog38578' @@ -153,16 +160,15 @@ # Load common functions -target_version='2.11' +target_version='2.12' if [ -z "$PLAYIT_LIB2" ]; then - : "${XDG_DATA_HOME:="$HOME/.local/share"}" - for path in\ - "$PWD"\ - "$XDG_DATA_HOME/play.it"\ - '/usr/local/share/games/play.it'\ - '/usr/local/share/play.it'\ - '/usr/share/games/play.it'\ + for path in \ + "$PWD" \ + "${XDG_DATA_HOME:="$HOME/.local/share"}/play.it" \ + '/usr/local/share/games/play.it' \ + '/usr/local/share/play.it' \ + '/usr/share/games/play.it' \ '/usr/share/play.it' do if [ -e "$path/libplayit2.sh" ]; then diff -Nru play.it-2.12.0/play.it-2/games/play-stellaris-leviathans-story-pack.sh play.it-2.12.1/play.it-2/games/play-stellaris-leviathans-story-pack.sh --- play.it-2.12.0/play.it-2/games/play-stellaris-leviathans-story-pack.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-stellaris-leviathans-story-pack.sh 2020-11-25 15:14:43.000000000 +0000 @@ -2,7 +2,7 @@ set -o errexit ### -# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2015-2020, Antoine Le Gonidec # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -34,7 +34,7 @@ # send your bug reports to contact@dotslashplay.it ### -script_version=20200615.1 +script_version=20201030.1 # Set game-specific variables @@ -42,6 +42,7 @@ GAME_NAME='Stellaris - Leviathans Story Pack' ARCHIVES_LIST=' +ARCHIVE_GOG_14 ARCHIVE_GOG_13 ARCHIVE_GOG_12 ARCHIVE_GOG_11 @@ -57,8 +58,14 @@ ARCHIVE_GOG_1 ARCHIVE_GOG_0' +ARCHIVE_GOG_14='stellaris_leviathans_story_pack_2_8_0_3_42321.sh' +ARCHIVE_GOG_14_URL='https://www.gog.com/game/stellaris_leviathans_story_pack' +ARCHIVE_GOG_14_MD5='2878c1c4efa4bff45aca6616d8d027a4' +ARCHIVE_GOG_14_SIZE='59000' +ARCHIVE_GOG_14_VERSION='2.8.0.3-gog42321' +ARCHIVE_GOG_14_TYPE='mojosetup_unzip' + ARCHIVE_GOG_13='stellaris_leviathans_story_pack_2_7_2_38578.sh' -ARCHIVE_GOG_13_URL='https://www.gog.com/game/stellaris_leviathans_story_pack' ARCHIVE_GOG_13_MD5='85f603d256e15b9967db5329eab5d2f0' ARCHIVE_GOG_13_SIZE='59000' ARCHIVE_GOG_13_VERSION='2.7.2-gog38578' @@ -152,16 +159,15 @@ # Load common functions -target_version='2.11' +target_version='2.12' if [ -z "$PLAYIT_LIB2" ]; then - : "${XDG_DATA_HOME:="$HOME/.local/share"}" - for path in\ - "$PWD"\ - "$XDG_DATA_HOME/play.it"\ - '/usr/local/share/games/play.it'\ - '/usr/local/share/play.it'\ - '/usr/share/games/play.it'\ + for path in \ + "$PWD" \ + "${XDG_DATA_HOME:="$HOME/.local/share"}/play.it" \ + '/usr/local/share/games/play.it' \ + '/usr/local/share/play.it' \ + '/usr/share/games/play.it' \ '/usr/share/play.it' do if [ -e "$path/libplayit2.sh" ]; then diff -Nru play.it-2.12.0/play.it-2/games/play-stellaris-lithoids-species-pack.sh play.it-2.12.1/play.it-2/games/play-stellaris-lithoids-species-pack.sh --- play.it-2.12.0/play.it-2/games/play-stellaris-lithoids-species-pack.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-stellaris-lithoids-species-pack.sh 2020-11-25 15:14:43.000000000 +0000 @@ -2,7 +2,7 @@ set -o errexit ### -# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2015-2020, Antoine Le Gonidec # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -34,7 +34,7 @@ # send your bug reports to contact@dotslashplay.it ### -script_version=20200516.1 +script_version=20201030.1 # Set game-specific variables @@ -42,10 +42,24 @@ GAME_NAME='Stellaris - Lithoids Species Pack' ARCHIVES_LIST=' +ARCHIVE_GOG_2 +ARCHIVE_GOG_1 ARCHIVE_GOG_0' +ARCHIVE_GOG_2='stellaris_lithoids_species_pack_2_8_0_3_42321.sh' +ARCHIVE_GOG_2_URL='https://www.gog.com/game/stellaris_lithoids_species_pack' +ARCHIVE_GOG_2_MD5='028022399713fd19f9325730c4410f50' +ARCHIVE_GOG_2_SIZE='54000' +ARCHIVE_GOG_2_VERSION='2.8.0.3-gog42321' +ARCHIVE_GOG_2_TYPE='mojosetup_unzip' + +ARCHIVE_GOG_1='stellaris_lithoids_species_pack_2_7_2_38578.sh' +ARCHIVE_GOG_1_MD5='ee0f7877dcc846bb08991bc74ee882ef' +ARCHIVE_GOG_1_SIZE='54000' +ARCHIVE_GOG_1_VERSION='2.7.2-gog38578' +ARCHIVE_GOG_1_TYPE='mojosetup_unzip' + ARCHIVE_GOG_0='stellaris_lithoids_species_pack_2_7_1_38218.sh' -ARCHIVE_GOG_0_URL='https://www.gog.com/game/stellaris_lithoids_species_pack' ARCHIVE_GOG_0_MD5='e3d43b3e1e6d2544291081c90b3da17e' ARCHIVE_GOG_0_SIZE='54000' ARCHIVE_GOG_0_VERSION='2.7.1-gog38218' @@ -61,16 +75,15 @@ # Load common functions -target_version='2.11' +target_version='2.12' if [ -z "$PLAYIT_LIB2" ]; then - : "${XDG_DATA_HOME:="$HOME/.local/share"}" - for path in\ - "$PWD"\ - "$XDG_DATA_HOME/play.it"\ - '/usr/local/share/games/play.it'\ - '/usr/local/share/play.it'\ - '/usr/share/games/play.it'\ + for path in \ + "$PWD" \ + "${XDG_DATA_HOME:="$HOME/.local/share"}/play.it" \ + '/usr/local/share/games/play.it' \ + '/usr/local/share/play.it' \ + '/usr/share/games/play.it' \ '/usr/share/play.it' do if [ -e "$path/libplayit2.sh" ]; then diff -Nru play.it-2.12.0/play.it-2/games/play-stellaris-plantoids-species-pack.sh play.it-2.12.1/play.it-2/games/play-stellaris-plantoids-species-pack.sh --- play.it-2.12.0/play.it-2/games/play-stellaris-plantoids-species-pack.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-stellaris-plantoids-species-pack.sh 2020-11-25 15:14:43.000000000 +0000 @@ -2,7 +2,7 @@ set -o errexit ### -# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2015-2020, Antoine Le Gonidec # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -34,7 +34,7 @@ # send your bug reports to contact@dotslashplay.it ### -script_version=20200615.1 +script_version=20201030.1 # Set game-specific variables @@ -42,6 +42,7 @@ GAME_NAME='Stellaris - Plantoids Species Pack' ARCHIVES_LIST=' +ARCHIVE_GOG_14 ARCHIVE_GOG_13 ARCHIVE_GOG_12 ARCHIVE_GOG_11 @@ -57,8 +58,14 @@ ARCHIVE_GOG_1 ARCHIVE_GOG_0' +ARCHIVE_GOG_14='stellaris_plantoids_species_pack_2_8_0_3_42321.sh' +ARCHIVE_GOG_14_URL='https://www.gog.com/game/stellaris_plantoids_species_pack' +ARCHIVE_GOG_14_MD5='d6e3bebb0fa00fdbedbb5131a3e3a427' +ARCHIVE_GOG_14_SIZE='1400' +ARCHIVE_GOG_14_VERSION='2.8.0.3-gog42321' +ARCHIVE_GOG_14_TYPE='mojosetup_unzip' + ARCHIVE_GOG_13='stellaris_plantoids_species_pack_2_7_2_38578.sh' -ARCHIVE_GOG_13_URL='https://www.gog.com/game/stellaris_plantoids_species_pack' ARCHIVE_GOG_13_MD5='ea0f9914703e707567202f269921041e' ARCHIVE_GOG_13_SIZE='1400' ARCHIVE_GOG_13_VERSION='2.7.2-gog38578' @@ -152,16 +159,15 @@ # Load common functions -target_version='2.11' +target_version='2.12' if [ -z "$PLAYIT_LIB2" ]; then - : "${XDG_DATA_HOME:="$HOME/.local/share"}" - for path in\ - "$PWD"\ - "$XDG_DATA_HOME/play.it"\ - '/usr/local/share/games/play.it'\ - '/usr/local/share/play.it'\ - '/usr/share/games/play.it'\ + for path in \ + "$PWD" \ + "${XDG_DATA_HOME:="$HOME/.local/share"}/play.it" \ + '/usr/local/share/games/play.it' \ + '/usr/local/share/play.it' \ + '/usr/share/games/play.it' \ '/usr/share/play.it' do if [ -e "$path/libplayit2.sh" ]; then diff -Nru play.it-2.12.0/play.it-2/games/play-stellaris.sh play.it-2.12.1/play.it-2/games/play-stellaris.sh --- play.it-2.12.0/play.it-2/games/play-stellaris.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-stellaris.sh 2020-11-25 15:14:43.000000000 +0000 @@ -2,7 +2,7 @@ set -o errexit ### -# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2015-2020, Antoine Le Gonidec # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -34,7 +34,7 @@ # send your bug reports to contact@dotslashplay.it ### -script_version=20200615.1 +script_version=20201030.1 # Set game-specific variables @@ -46,6 +46,7 @@ # Archives using a name following the pattern "ARCHIVE_.*_[0-9]+" should be automatically listed by the library ### ARCHIVES_LIST=' +ARCHIVE_GOG_13 ARCHIVE_GOG_12 ARCHIVE_GOG_11 ARCHIVE_GOG_10 @@ -66,8 +67,14 @@ ARCHIVE_GOG_32BIT_LIBATOMIC_1 ARCHIVE_GOG_32BIT_LIBATOMIC_0' +ARCHIVE_GOG_13='stellaris_english_2_8_0_3_42321.sh' +ARCHIVE_GOG_13_URL='https://www.gog.com/game/stellaris' +ARCHIVE_GOG_13_MD5='44dddb3bc3729f0d2b4eb88c85728d31' +ARCHIVE_GOG_13_SIZE='11000000' +ARCHIVE_GOG_13_VERSION='2.8.0.3-gog42321' +ARCHIVE_GOG_13_TYPE='mojosetup_unzip' + ARCHIVE_GOG_12='stellaris_2_7_2_38578.sh' -ARCHIVE_GOG_12_URL='https://www.gog.com/game/stellaris' ARCHIVE_GOG_12_MD5='28804a0503755eec3a33a5b43787a5cc' ARCHIVE_GOG_12_SIZE='9600000' ARCHIVE_GOG_12_VERSION='2.7.2-gog38578' @@ -213,16 +220,15 @@ # Load common functions -target_version='2.11' +target_version='2.12' if [ -z "$PLAYIT_LIB2" ]; then - : "${XDG_DATA_HOME:="$HOME/.local/share"}" - for path in\ - "$PWD"\ - "$XDG_DATA_HOME/play.it"\ - '/usr/local/share/games/play.it'\ - '/usr/local/share/play.it'\ - '/usr/share/games/play.it'\ + for path in \ + "$PWD" \ + "${XDG_DATA_HOME:="$HOME/.local/share"}/play.it" \ + '/usr/local/share/games/play.it' \ + '/usr/local/share/play.it' \ + '/usr/share/games/play.it' \ '/usr/share/play.it' do if [ -e "$path/libplayit2.sh" ]; then diff -Nru play.it-2.12.0/play.it-2/games/play-stellaris-synthetic-dawn-story-pack.sh play.it-2.12.1/play.it-2/games/play-stellaris-synthetic-dawn-story-pack.sh --- play.it-2.12.0/play.it-2/games/play-stellaris-synthetic-dawn-story-pack.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-stellaris-synthetic-dawn-story-pack.sh 2020-11-25 15:14:43.000000000 +0000 @@ -2,7 +2,7 @@ set -o errexit ### -# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2015-2020, Antoine Le Gonidec # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -34,7 +34,7 @@ # send your bug reports to contact@dotslashplay.it ### -script_version=20200615.1 +script_version=20201030.2 # Set game-specific variables @@ -42,6 +42,7 @@ GAME_NAME='Stellaris - Synthetic Dawn Story Pack' ARCHIVES_LIST=' +ARCHIVE_GOG_13 ARCHIVE_GOG_12 ARCHIVE_GOG_11 ARCHIVE_GOG_10 @@ -56,8 +57,14 @@ ARCHIVE_GOG_1 ARCHIVE_GOG_0' +ARCHIVE_GOG_13='stellaris_synthetic_dawn_story_pack_2_8_0_3_42321.sh' +ARCHIVE_GOG_13_URL='https://www.gog.com/game/stellaris_synthetic_dawn_story_pack' +ARCHIVE_GOG_13_MD5='f199f4751b106516822e19249ab13014' +ARCHIVE_GOG_13_SIZE='49000' +ARCHIVE_GOG_13_VERSION='2.8.0.3-gog42321' +ARCHIVE_GOG_13_TYPE='mojosetup_unzip' + ARCHIVE_GOG_12='stellaris_synthetic_dawn_story_pack_2_7_2_38578.sh' -ARCHIVE_GOG_12_URL='https://www.gog.com/game/stellaris_synthetic_dawn_story_pack' ARCHIVE_GOG_12_MD5='a58f3ab05f5b7b7c69e3b4d6c55dd2d7' ARCHIVE_GOG_12_SIZE='49000' ARCHIVE_GOG_12_VERSION='2.7.2-gog38578' @@ -145,16 +152,15 @@ # Load common functions -target_version='2.11' +target_version='2.12' if [ -z "$PLAYIT_LIB2" ]; then - : "${XDG_DATA_HOME:="$HOME/.local/share"}" - for path in\ - "$PWD"\ - "$XDG_DATA_HOME/play.it"\ - '/usr/local/share/games/play.it'\ - '/usr/local/share/play.it'\ - '/usr/share/games/play.it'\ + for path in \ + "$PWD" \ + "${XDG_DATA_HOME:="$HOME/.local/share"}/play.it" \ + '/usr/local/share/games/play.it' \ + '/usr/local/share/play.it' \ + '/usr/share/games/play.it' \ '/usr/share/play.it' do if [ -e "$path/libplayit2.sh" ]; then diff -Nru play.it-2.12.0/play.it-2/games/play-stellaris-utopia.sh play.it-2.12.1/play.it-2/games/play-stellaris-utopia.sh --- play.it-2.12.0/play.it-2/games/play-stellaris-utopia.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-stellaris-utopia.sh 2020-11-25 15:14:43.000000000 +0000 @@ -2,7 +2,7 @@ set -o errexit ### -# Copyright (c) 2015-2019, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2015-2020, Antoine Le Gonidec # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -34,7 +34,7 @@ # send your bug reports to contact@dotslashplay.it ### -script_version=20200615.1 +script_version=20201030.1 # Set game-specific variables @@ -43,6 +43,7 @@ GAME_NAME='Stellaris - Utopia' ARCHIVES_LIST=' +ARCHIVE_GOG_12 ARCHIVE_GOG_11 ARCHIVE_GOG_10 ARCHIVE_GOG_9 @@ -56,8 +57,14 @@ ARCHIVE_GOG_1 ARCHIVE_GOG_0' +ARCHIVE_GOG_12='stellaris_utopia_2_8_0_3_42321.sh' +ARCHIVE_GOG_12_URL='https://www.gog.com/game/stellaris_utopia' +ARCHIVE_GOG_12_MD5='e7a15f31ad4a0f7346a7767cb6b830f6' +ARCHIVE_GOG_12_SIZE='76000' +ARCHIVE_GOG_12_VERSION='2.8.0.3-gog42321' +ARCHIVE_GOG_12_TYPE='mojosetup_unzip' + ARCHIVE_GOG_11='stellaris_utopia_2_7_2_38578.sh' -ARCHIVE_GOG_11_URL='https://www.gog.com/game/stellaris_utopia' ARCHIVE_GOG_11_MD5='799002017db9916021323649f75cfc30' ARCHIVE_GOG_11_SIZE='76000' ARCHIVE_GOG_11_VERSION='2.7.2-gog38578' @@ -139,16 +146,15 @@ # Load common functions -target_version='2.11' +target_version='2.12' if [ -z "$PLAYIT_LIB2" ]; then - : "${XDG_DATA_HOME:="$HOME/.local/share"}" - for path in\ - "$PWD"\ - "$XDG_DATA_HOME/play.it"\ - '/usr/local/share/games/play.it'\ - '/usr/local/share/play.it'\ - '/usr/share/games/play.it'\ + for path in \ + "$PWD" \ + "${XDG_DATA_HOME:="$HOME/.local/share"}/play.it" \ + '/usr/local/share/games/play.it' \ + '/usr/local/share/play.it' \ + '/usr/share/games/play.it' \ '/usr/share/play.it' do if [ -e "$path/libplayit2.sh" ]; then diff -Nru play.it-2.12.0/play.it-2/games/play-stories-the-path-of-destinies.sh play.it-2.12.1/play.it-2/games/play-stories-the-path-of-destinies.sh --- play.it-2.12.0/play.it-2/games/play-stories-the-path-of-destinies.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-stories-the-path-of-destinies.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -84,16 +84,25 @@ target_version='2.5' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-subject-13.sh play.it-2.12.1/play.it-2/games/play-subject-13.sh --- play.it-2.12.0/play.it-2/games/play-subject-13.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-subject-13.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to mopi@dotslashplay.it ### -script_version=20180303.1 +script_version=20200918.1 # Set game-specific variables @@ -74,16 +74,25 @@ target_version='2.5' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-sunless-skies.sh play.it-2.12.1/play.it-2/games/play-sunless-skies.sh --- play.it-2.12.0/play.it-2/games/play-sunless-skies.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-sunless-skies.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to contact@dotslashplay.it ### -script_version=20200619.2 +script_version=20200626.1 # Set game-specific variables @@ -138,12 +138,11 @@ APP_MAIN_PRERUN='# Work around screen resolution detection issues config_file="$HOME/.config/unity3d/Failbetter Games/Sunless Skies/prefs" if [ ! -e "$config_file" ]; then - mkdir --parents "${config_file%/*}" - resolution=$(xrandr | awk "/\*/ {print $1}") + mkdir --parents "$(dirname "$config_file")" cat > "$config_file" <<- EOF - ${resolution%x*} - ${resolution#*x} + 720 + 1280 EOF fi' @@ -159,7 +158,7 @@ PKG_DATA_DESCRIPTION='data' PKG_BIN32_ARCH='32' -PKG_BIN32_DEPS="$PKG_DATA_ID glibc libstdc++ glx xcursor libxrandr libudev1 xrandr" +PKG_BIN32_DEPS="$PKG_DATA_ID glibc libstdc++ glx xcursor libxrandr libudev1" PKG_BIN64_ARCH='64' PKG_BIN64_DEPS="$PKG_BIN32_DEPS" diff -Nru play.it-2.12.0/play.it-2/games/play-super-meat-boy.sh play.it-2.12.1/play.it-2/games/play-super-meat-boy.sh --- play.it-2.12.0/play.it-2/games/play-super-meat-boy.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-super-meat-boy.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to mopi@dotslashplay.it ### -script_version=20180311.4 +script_version=20200918.1 # Set game-specific variables @@ -87,16 +87,25 @@ target_version='2.6' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-talk-to-me.sh play.it-2.12.1/play.it-2/games/play-talk-to-me.sh --- play.it-2.12.0/play.it-2/games/play-talk-to-me.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-talk-to-me.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,149 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2016-2020, Mopi +# 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. +### + +### +# Talk to Me +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20200925.1 + +# Set game-specific variables + +GAME_ID='talk-to-me' +GAME_NAME='Talk to Me' + +ARCHIVES_LIST=' +ARCHIVE_ITCH_0' + +ARCHIVE_ITCH_0='TalkToMe-1.02-pc.zip' +ARCHIVE_ITCH_0_URL='https://boop-studios.itch.io/talk-to-me' +ARCHIVE_ITCH_0_MD5='9f7ae1c12a4c7bcb6a40aa4157205e4b' +ARCHIVE_ITCH_0_SIZE='410000' +ARCHIVE_ITCH_0_VERSION='1.02-itch1' +ARCHIVE_ITCH_0_TYPE='zip' + +ARCHIVE_GAME_BIN32_PATH='TalkToMe-1.02-pc' +ARCHIVE_GAME_BIN32_FILES='lib/linux-i686 TalkToMe.sh' + +ARCHIVE_GAME_BIN64_PATH='TalkToMe-1.02-pc' +ARCHIVE_GAME_BIN64_FILES='lib/linux-x86_64' + +ARCHIVE_GAME_DATA_PATH='TalkToMe-1.02-pc' +ARCHIVE_GAME_DATA_FILES='lib/pythonlib2.7 game TalkToMe.py renpy' + +DATA_DIRS='game/saves' + +APP_MAIN_TYPE='native' +APP_MAIN_EXE='TalkToMe.sh' +APP_MAIN_ICON='TalkToMe-1.02-pc/TalkToMe.exe' + +PACKAGES_LIST='PKG_BIN32 PKG_BIN64 PKG_DATA' + +PKG_DATA_ID="${GAME_ID}-data" +PKG_DATA_DESCRIPTION='data' + +PKG_BIN32_ARCH='32' +PKG_BIN32_DEPS="$PKG_DATA_ID glibc libstdc++" + +PKG_BIN64_ARCH='64' +PKG_BIN64_DEPS="$PKG_BIN32_DEPS" + +# Load common functions + +target_version='2.12' + +if [ -z "$PLAYIT_LIB2" ]; then + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +prepare_package_layout + +# Copy launching script between the binaries packages + +LAUNCHER_SOURCE="${PKG_BIN32_PATH}${PATH_GAME}/$APP_MAIN_EXE" +LAUNCHER_DESTINATION="${PKG_BIN64_PATH}${PATH_GAME}/$APP_MAIN_EXE" +mkdir --parents "$(dirname "$LAUNCHER_DESTINATION")" +cp "$LAUNCHER_SOURCE" "$LAUNCHER_DESTINATION" + +# Get icon + +PKG='PKG_DATA' +icons_get_from_workdir 'APP_MAIN' + +# Clean up temporary directories + +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Write launchers + +for PKG in 'PKG_BIN32' 'PKG_BIN64'; do + launchers_write 'APP_MAIN' +done + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-teenagent.sh play.it-2.12.1/play.it-2/games/play-teenagent.sh --- play.it-2.12.0/play.it-2/games/play-teenagent.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-teenagent.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -66,16 +66,25 @@ target_version='2.2' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-terraria.sh play.it-2.12.1/play.it-2/games/play-terraria.sh --- play.it-2.12.0/play.it-2/games/play-terraria.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-terraria.sh 2020-11-25 15:14:43.000000000 +0000 @@ -2,7 +2,7 @@ set -o errexit ### -# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2015-2020, Antoine Le Gonidec # Copyright (c) 2016-2020, Mopi # All rights reserved. # @@ -35,33 +35,69 @@ # send your bug reports to contact@dotslashplay.it ### -script_version=20200529.1 +script_version=20201101.9 # Set game-specific variables GAME_ID='terraria' GAME_NAME='Terraria' -ARCHIVE_GOG='terraria_en_1_3_5_3_14602.sh' -ARCHIVE_GOG_URL='https://www.gog.com/game/terraria' -ARCHIVE_GOG_MD5='c99fdc0ae15dbff1e8147b550db4e31a' -ARCHIVE_GOG_SIZE='490000' -ARCHIVE_GOG_VERSION='1.3.5.3-gog14602' -ARCHIVE_GOG_TYPE='mojosetup' - -ARCHIVE_GOG_OLD0='gog_terraria_2.17.0.21.sh' -ARCHIVE_GOG_OLD0_MD5='90ec196ec38a7f7a5002f5a8109493cc' -ARCHIVE_GOG_OLD0_SIZE='490000' -ARCHIVE_GOG_OLD0_VERSION='1.3.5.3-gog2.17.0.21' +ARCHIVES_LIST=' +ARCHIVE_GOG_1 +ARCHIVE_GOG_0 +ARCHIVE_GOG_MULTIARCH_4 +ARCHIVE_GOG_MULTIARCH_3 +ARCHIVE_GOG_MULTIARCH_2 +ARCHIVE_GOG_MULTIARCH_1 +ARCHIVE_GOG_MULTIARCH_0' + +ARCHIVE_GOG_1='terraria_v1_4_1_1_41975.sh' +ARCHIVE_GOG_1_URL='https://www.gog.com/game/terraria' +ARCHIVE_GOG_1_MD5='e0158c754f9a7259d28f1cd3c1e1c747' +ARCHIVE_GOG_1_SIZE='720000' +ARCHIVE_GOG_1_VERSION='1.4.1.1-gog41975' +ARCHIVE_GOG_1_TYPE='mojosetup' + +ARCHIVE_GOG_0='terraria_v1_4_1_0_41944.sh' +ARCHIVE_GOG_0_MD5='6d8fd3976503695205e80ba10e8249de' +ARCHIVE_GOG_0_SIZE='720000' +ARCHIVE_GOG_0_VERSION='1.4.1.0-gog41944' +ARCHIVE_GOG_0_TYPE='mojosetup' + +ARCHIVE_GOG_MULTIARCH_4='terraria_v1_4_0_5_38805.sh' +ARCHIVE_GOG_MULTIARCH_4_MD5='88940054c5d5a5f556f0bd955559426a' +ARCHIVE_GOG_MULTIARCH_4_SIZE='760000' +ARCHIVE_GOG_MULTIARCH_4_VERSION='1.4.0.5-gog38805' +ARCHIVE_GOG_MULTIARCH_4_TYPE='mojosetup' + +ARCHIVE_GOG_MULTIARCH_3='terraria_1_4_0_4_38513.sh' +ARCHIVE_GOG_MULTIARCH_3_MD5='5704d188ab8374f0a36e86bad8adb5a1' +ARCHIVE_GOG_MULTIARCH_3_SIZE='760000' +ARCHIVE_GOG_MULTIARCH_3_VERSION='1.4.0.4-gog38513' +ARCHIVE_GOG_MULTIARCH_3_TYPE='mojosetup' + +ARCHIVE_GOG_MULTIARCH_2='terraria_v1_4_0_2_38384.sh' +ARCHIVE_GOG_MULTIARCH_2_MD5='85d3ddcbafdef8412e4f96f3adbc2ed9' +ARCHIVE_GOG_MULTIARCH_2_SIZE='760000' +ARCHIVE_GOG_MULTIARCH_2_VERSION='1.4.0.2-gog38384' +ARCHIVE_GOG_MULTIARCH_2_TYPE='mojosetup' + +ARCHIVE_GOG_MULTIARCH_1='terraria_en_1_3_5_3_14602.sh' +ARCHIVE_GOG_MULTIARCH_1_MD5='c99fdc0ae15dbff1e8147b550db4e31a' +ARCHIVE_GOG_MULTIARCH_1_SIZE='490000' +ARCHIVE_GOG_MULTIARCH_1_VERSION='1.3.5.3-gog14602' +ARCHIVE_GOG_MULTIARCH_1_TYPE='mojosetup' + +ARCHIVE_GOG_MULTIARCH_0='gog_terraria_2.17.0.21.sh' +ARCHIVE_GOG_MULTIARCH_0_MD5='90ec196ec38a7f7a5002f5a8109493cc' +ARCHIVE_GOG_MULTIARCH_0_SIZE='490000' +ARCHIVE_GOG_MULTIARCH_0_VERSION='1.3.5.3-gog2.17.0.21' ARCHIVE_DOC_DATA_PATH='data/noarch/game' ARCHIVE_DOC_DATA_FILES='changelog.txt' -ARCHIVE_GAME_BIN32_PATH='data/noarch/game' -ARCHIVE_GAME_BIN32_FILES='Terraria.bin.x86 TerrariaServer.bin.x86 lib/libmojoshader.so' - -ARCHIVE_GAME_BIN64_PATH='data/noarch/game' -ARCHIVE_GAME_BIN64_FILES='Terraria.bin.x86_64 TerrariaServer.bin.x86_64 lib64/libmojoshader.so' +ARCHIVE_GAME_BIN_PATH='data/noarch/game' +ARCHIVE_GAME_BIN_FILES='Terraria.bin.x86_64 TerrariaServer.bin.x86_64 lib64/libmojoshader.so lib64/libFNA3D.so.0' ARCHIVE_GAME_DATA_PATH='data/noarch/game' ARCHIVE_GAME_DATA_FILES='Content Terraria.png monoconfig monomachineconfig open-folder *.dll *.dll.config *.exe' @@ -70,45 +106,56 @@ APP_MAIN_PRERUN='# Work around terminfo Mono bug # cf. https://github.com/mono/mono/issues/6752 export TERM="${TERM%-256color}"' -APP_MAIN_LIBS_BIN32='lib' -APP_MAIN_LIBS_BIN64='lib64' -APP_MAIN_EXE_BIN32='Terraria.bin.x86' -APP_MAIN_EXE_BIN64='Terraria.bin.x86_64' +APP_MAIN_LIBS='lib64' +APP_MAIN_EXE='Terraria.bin.x86_64' APP_MAIN_ICON='Terraria.png' APP_SERVER_ID="$GAME_ID-server" APP_SERVER_NAME="$GAME_NAME Server" APP_SERVER_TYPE='native' APP_SERVER_PRERUN="$APP_MAIN_PRERUN" -APP_SERVER_LIBS_BIN32="$APP_MAIN_LIBS_BIN32" -APP_SERVER_LIBS_BIN64="$APP_MAIN_LIBS_BIN64" -APP_SERVER_EXE_BIN32='TerrariaServer.bin.x86' -APP_SERVER_EXE_BIN64='TerrariaServer.bin.x86_64' +APP_SERVER_LIBS="$APP_MAIN_LIBS" +APP_SERVER_EXE='TerrariaServer.bin.x86_64' APP_SERVER_ICON='Terraria.png' -PACKAGES_LIST='PKG_BIN32 PKG_BIN64 PKG_DATA' +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 glibc libstdc++ sdl2 openal glx" +PKG_BIN_DEPS_ARCH='faudio' +PKG_BIN_DEPS_DEB='libfaudio0' +PKG_BIN_DEPS_GENTOO='app-emulation/faudio' + +# Old archives provide a x86_32 binary + libraries + +PACKAGES_LIST_GOG_MULTIARCH='PKG_BIN32 PKG_BIN PKG_DATA' + +ARCHIVE_GAME_BIN32_PATH='data/noarch/game' +ARCHIVE_GAME_BIN32_FILES='Terraria.bin.x86 TerrariaServer.bin.x86 lib/libmojoshader.so' + +APP_MAIN_LIBS_BIN32='lib' +APP_MAIN_EXE_BIN32='Terraria.bin.x86' + +APP_SERVER_LIBS_BIN32='lib' +APP_SERVER_EXE_BIN32='TerrariaServer.bin.x86' + PKG_BIN32_ARCH='32' PKG_BIN32_DEPS="$PKG_DATA_ID glibc libstdc++ sdl2 openal glx" -PKG_BIN64_ARCH='64' -PKG_BIN64_DEPS="$PKG_BIN32_DEPS" - # Load common functions -target_version='2.11' +target_version='2.12' if [ -z "$PLAYIT_LIB2" ]; then - : "${XDG_DATA_HOME:="$HOME/.local/share"}" - for path in\ - "$PWD"\ - "$XDG_DATA_HOME/play.it"\ - '/usr/local/share/games/play.it'\ - '/usr/local/share/play.it'\ - '/usr/share/games/play.it'\ + for path in \ + "$PWD" \ + "${XDG_DATA_HOME:="$HOME/.local/share"}/play.it" \ + '/usr/local/share/games/play.it' \ + '/usr/local/share/play.it' \ + '/usr/share/games/play.it' \ '/usr/share/play.it' do if [ -e "$path/libplayit2.sh" ]; then @@ -125,6 +172,21 @@ # shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" +# Update the list of packages to build, based on the source archive + +use_archive_specific_value 'PACKAGES_LIST' +set_temp_directories $PACKAGES_LIST + +# Dependency on FAudio is only required starting with game version 1.4.1 + +case "$ARCHIVE" in + ('ARCHIVE_GOG_MULTIARCH'*) + unset PKG_BIN_DEPS_ARCH + unset PKG_BIN_DEPS_DEB + unset PKG_BIN_DEPS_GENTOO + ;; +esac + # Extract game data extract_data_from "$SOURCE_ARCHIVE" @@ -138,9 +200,14 @@ # Write launchers -for PKG in 'PKG_BIN32' 'PKG_BIN64'; do - launchers_write 'APP_MAIN' 'APP_SERVER' -done +PKG='PKG_BIN' +launchers_write 'APP_MAIN' 'APP_SERVER' +case "$ARCHIVE" in + ('ARCHIVE_GOG_MULTIARCH'*) + PKG='PKG_BIN32' + launchers_write 'APP_MAIN' 'APP_SERVER' + ;; +esac # Build package diff -Nru play.it-2.12.0/play.it-2/games/play-teslagrad.sh play.it-2.12.1/play.it-2/games/play-teslagrad.sh --- play.it-2.12.0/play.it-2/games/play-teslagrad.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-teslagrad.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -83,16 +83,25 @@ target_version='2.4' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-the-blackwell-epiphany.sh play.it-2.12.1/play.it-2/games/play-the-blackwell-epiphany.sh --- play.it-2.12.0/play.it-2/games/play-the-blackwell-epiphany.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-the-blackwell-epiphany.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -91,16 +91,25 @@ target_version='2.5' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-the-bridge.sh play.it-2.12.1/play.it-2/games/play-the-bridge.sh --- play.it-2.12.0/play.it-2/games/play-the-bridge.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-the-bridge.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180415.1 +script_version=20200918.1 # Set game-specific variables @@ -77,16 +77,25 @@ target_version='2.7' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-the-dark-eye-chains-of-satinav.sh play.it-2.12.1/play.it-2/games/play-the-dark-eye-chains-of-satinav.sh --- play.it-2.12.0/play.it-2/games/play-the-dark-eye-chains-of-satinav.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-the-dark-eye-chains-of-satinav.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -112,16 +112,25 @@ target_version='2.0' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-the-difference-between-us.sh play.it-2.12.1/play.it-2/games/play-the-difference-between-us.sh --- play.it-2.12.0/play.it-2/games/play-the-difference-between-us.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-the-difference-between-us.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,143 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine Le Gonidec +# Copyright (c) 2016-2020, Mopi +# 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. +### + +### +# The Difference between Us +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20201019.1 + +# Set game-specific variables + +GAME_ID='the-difference-between-us' +GAME_NAME='The Difference between Us' + +ARCHIVES_LIST=' +ARCHIVE_ITCH_0' + +ARCHIVE_ITCH_0='The-Difference-Between-Us-linux.tar.bz2' +ARCHIVE_ITCH_0_URL='https://robindaydream.itch.io/the-difference-between-us' +ARCHIVE_ITCH_0_MD5='7888797ccda89452a2543ba35c46083c' +ARCHIVE_ITCH_0_SIZE='64000' +ARCHIVE_ITCH_0_VERSION='1.0-itch' +ARCHIVE_ITCH_0_TYPE='tar' + +ARCHIVE_DOC_DATA_PATH='The-Difference-Between-Us-linux' +ARCHIVE_DOC_DATA_FILES='README.html' + +ARCHIVE_GAME_BIN32_PATH='The-Difference-Between-Us-linux' +ARCHIVE_GAME_BIN32_FILES='lib/linux-i686 The-Difference-Between-Us.sh' + +ARCHIVE_GAME_BIN64_PATH='The-Difference-Between-Us-linux' +ARCHIVE_GAME_BIN64_FILES='lib/linux-x86_64' + +ARCHIVE_GAME_DATA_PATH='The-Difference-Between-Us-linux' +ARCHIVE_GAME_DATA_FILES='lib/pythonlib2.7 game The-Difference-Between-Us.py renpy' + +APP_MAIN_TYPE='native' +APP_MAIN_EXE='The-Difference-Between-Us.sh' + +PACKAGES_LIST='PKG_BIN32 PKG_BIN64 PKG_DATA' + +PKG_DATA_ID="${GAME_ID}-data" +PKG_DATA_DESCRIPTION='data' + +PKG_BIN32_ARCH='32' +PKG_BIN32_DEPS="$PKG_DATA_ID glibc libstdc++" + +PKG_BIN64_ARCH='64' +PKG_BIN64_DEPS="$PKG_BIN32_DEPS" + +# Load common functions + +target_version='2.12' + +if [ -z "$PLAYIT_LIB2" ]; then + for path in \ + "$PWD" \ + "${XDG_DATA_HOME:="$HOME/.local/share"}/play.it" \ + '/usr/local/share/games/play.it' \ + '/usr/local/share/play.it' \ + '/usr/share/games/play.it' \ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +prepare_package_layout + +# Copy launching script between the binaries packages + +LAUNCHER_SOURCE="${PKG_BIN32_PATH}${PATH_GAME}/$APP_MAIN_EXE" +LAUNCHER_DESTINATION="${PKG_BIN64_PATH}${PATH_GAME}/$APP_MAIN_EXE" +mkdir --parents "$(dirname "$LAUNCHER_DESTINATION")" +cp "$LAUNCHER_SOURCE" "$LAUNCHER_DESTINATION" + +# Clean up temporary directories + +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Write launchers + +for PKG in 'PKG_BIN32' 'PKG_BIN64'; do + launchers_write 'APP_MAIN' +done + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-the-fall.sh play.it-2.12.1/play.it-2/games/play-the-fall.sh --- play.it-2.12.0/play.it-2/games/play-the-fall.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-the-fall.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -83,16 +83,25 @@ target_version='2.4' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-the-guild-2-renaissance.sh play.it-2.12.1/play.it-2/games/play-the-guild-2-renaissance.sh --- play.it-2.12.0/play.it-2/games/play-the-guild-2-renaissance.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-the-guild-2-renaissance.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180806.1 +script_version=20200918.1 # Set game-specific variables @@ -87,16 +87,25 @@ target_version='2.5' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-the-guild-2.sh play.it-2.12.1/play.it-2/games/play-the-guild-2.sh --- play.it-2.12.0/play.it-2/games/play-the-guild-2.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-the-guild-2.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180806.1 +script_version=20200918.1 # Set game-specific variables @@ -80,16 +80,25 @@ target_version='2.5' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-the-interactive-adventures-of-dog-mendonca-and-pizzaboy.sh play.it-2.12.1/play.it-2/games/play-the-interactive-adventures-of-dog-mendonca-and-pizzaboy.sh --- play.it-2.12.0/play.it-2/games/play-the-interactive-adventures-of-dog-mendonca-and-pizzaboy.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-the-interactive-adventures-of-dog-mendonca-and-pizzaboy.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -83,16 +83,25 @@ target_version='2.5' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-the-jungle-book.sh play.it-2.12.1/play.it-2/games/play-the-jungle-book.sh --- play.it-2.12.0/play.it-2/games/play-the-jungle-book.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-the-jungle-book.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -73,16 +73,25 @@ target_version='2.4' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-the-king-of-fighters-2000.sh play.it-2.12.1/play.it-2/games/play-the-king-of-fighters-2000.sh --- play.it-2.12.0/play.it-2/games/play-the-king-of-fighters-2000.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-the-king-of-fighters-2000.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,135 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2020, HS-157 +# 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. +### + +### +# THE KING OF FIGHTERS 2000 +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20201010.1 + +# Set game-specific variables + +GAME_ID='the-king-of-fighters-2000' +GAME_NAME="THE KING OF FIGHTERS 2000" + +ARCHIVE_HUMBLE='KingOfFighters2000_jan2016.sh' +ARCHIVE_HUMBLE_TYPE='mojosetup' +ARCHIVE_HUMBLE_URL='https://www.humblebundle.com/store/the-king-of-fighters-2000' +ARCHIVE_HUMBLE_MD5='98f3d87cd286c868f184fefe1c4222b9' +ARCHIVE_HUMBLE_VERSION='1.0-humblejan2016' +ARCHIVE_HUMBLE_SIZE='120000' + +ARCHIVE_GAME_BIN32_PATH_HUMBLE='data/x86' +ARCHIVE_GAME_BIN32_FILES='NeogeoEmu.bin.x86 lib' + +ARCHIVE_GAME_BIN64_PATH_HUMBLE='data/x86_64' +ARCHIVE_GAME_BIN64_FILES='NeogeoEmu.bin.x86_64 lib64' + +ARCHIVE_GAME_DATA_PATH_HUMBLE='data/noarch' +ARCHIVE_GAME_DATA_FILES='*' + +APP_MAIN_TYPE='native' +APP_MAIN_ICON='KingOfFighters2000.png' +APP_MAIN_EXE_BIN32='NeogeoEmu.bin.x86' +APP_MAIN_EXE_BIN64='NeogeoEmu.bin.x86_64' + +DATA_FILES='*.ini *.rml *.txt' + +PACKAGES_LIST='PKG_BIN32 PKG_BIN64 PKG_DATA' + +PKG_DATA_ID="${GAME_ID}-data" +PKG_DATA_DESCRIPTION='data' + +PKG_BIN32_ARCH='32' +PKG_BIN32_DEPS="$PKG_DATA_ID glibc libstdc++ sdl2 glx alsa libudev1" + +PKG_BIN64_ARCH='64' +PKG_BIN64_DEPS="$PKG_BIN32_DEPS" + +# Load common functions + +target_version='2.11' + +if [ -z "$PLAYIT_LIB2" ]; then + for path in \ + "$PWD" \ + "${XDG_DATA_HOME:="$HOME/.local/share"}/play.it" \ + '/usr/local/share/games/play.it' \ + '/usr/local/share/play.it' \ + '/usr/share/games/play.it' \ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +prepare_package_layout +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Extract icon + +PKG='PKG_DATA' +icons_get_from_package 'APP_MAIN' + +# Write launchers +for PKG in 'PKG_BIN32' 'PKG_BIN64'; do + launchers_write 'APP_MAIN' +done + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-the-last-tinker.sh play.it-2.12.1/play.it-2/games/play-the-last-tinker.sh --- play.it-2.12.0/play.it-2/games/play-the-last-tinker.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-the-last-tinker.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180310.1 +script_version=20200918.1 # Set game-specific variables @@ -105,16 +105,25 @@ target_version='2.6' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-the-lion-king.sh play.it-2.12.1/play.it-2/games/play-the-lion-king.sh --- play.it-2.12.0/play.it-2/games/play-the-lion-king.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-the-lion-king.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20190713.1 +script_version=20200918.1 # Set game-specific variables @@ -72,16 +72,25 @@ target_version='2.4' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-the-little-acre.sh play.it-2.12.1/play.it-2/games/play-the-little-acre.sh --- play.it-2.12.0/play.it-2/games/play-the-little-acre.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-the-little-acre.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -82,16 +82,25 @@ target_version='2.4' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-theme-hospital.sh play.it-2.12.1/play.it-2/games/play-theme-hospital.sh --- play.it-2.12.0/play.it-2/games/play-theme-hospital.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-theme-hospital.sh 2020-11-25 15:14:43.000000000 +0000 @@ -1,8 +1,9 @@ -#!/bin/sh -e +#!/bin/sh set -o errexit ### # Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2016-2020, Mopi # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -30,76 +31,105 @@ ### # Theme Hospital -# build native Linux packages from the original installers -# send your bug reports to vv221@dotslashplay.it +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it ### -script_version=20180331.3 +script_version=20201002.1 # Set game-specific variables GAME_ID='theme-hospital' GAME_NAME='Theme Hospital' -ARCHIVE_GOG='setup_theme_hospital_2.1.0.8.exe' -ARCHIVE_GOG_URL='https://www.gog.com/game/theme_hospital' -ARCHIVE_GOG_MD5='c1dc6cd19a3e22f7f7b31a72957babf7' -ARCHIVE_GOG_SIZE='210000' -ARCHIVE_GOG_VERSION='1.0-gog2.0.0.7' - -ARCHIVE_DOC_DATA_PATH='app' -ARCHIVE_DOC_DATA_FILES='./*.txt ./*.pdf' - -ARCHIVE_GAME_BIN_DOSBOX_PATH='app' -ARCHIVE_GAME_BIN_DOSBOX_FILES='./*.bat ./*.cfg ./*.exe ./*.ini ./sound/*.exe ./sound/*.ini ./sound/midi/*.bat ./sound/midi/*.exe' - -ARCHIVE_GAME_DATA_PATH='app' -ARCHIVE_GAME_DATA_FILES='./anims ./cfg ./data ./datam ./goggame-1207659026.ico ./intro ./levels ./qdata ./qdatam ./save ./sound' +ARCHIVES_LIST=' +ARCHIVE_GOG_1 +ARCHIVE_GOG_0' + +ARCHIVE_GOG_1='setup_theme_hospital_v3_(28027).exe' +ARCHIVE_GOG_1_MD5='e4cba7cfddd5dd2d4baf4761bc86a8c8' +ARCHIVE_GOG_1_URL='https://www.gog.com/game/theme_hospital' +ARCHIVE_GOG_1_SIZE='200000' +ARCHIVE_GOG_1_VERSION='1.0-gog28027' + +ARCHIVE_GOG_0='setup_theme_hospital_2.1.0.8.exe' +ARCHIVE_GOG_0_MD5='c1dc6cd19a3e22f7f7b31a72957babf7' +ARCHIVE_GOG_0_SIZE='210000' +ARCHIVE_GOG_0_VERSION='1.0-gog2.0.0.7' + +ARCHIVE_DOC_DATA_PATH='.' +ARCHIVE_DOC_DATA_FILES='*.txt *.pdf' +# Keep compatibility with old archive +ARCHIVE_DOC_DATA_PATH_GOG_0='app' + +ARCHIVE_GAME_DOSBOX_PATH='.' +ARCHIVE_GAME_DOSBOX_FILES='*.bat *.cfg *.exe *.ini sound/*.exe sound/*.ini sound/midi/*.bat sound/midi/*.exe' +# Keep compatibility with old archive +ARCHIVE_GAME_DOSBOX_PATH_GOG_0='app' + +ARCHIVE_GAME_DATA_PATH='.' +ARCHIVE_GAME_DATA_FILES='anims cfg data datam intro levels qdata qdatam save sound' +# Keep compatibility with old archive +ARCHIVE_GAME_DATA_PATH_GOG_0='app' CONFIG_FILES='./*.ini ./*.cfg' DATA_DIRS='./save' +# Game launchers — common properties +APP_MAIN_ICON='app/goggame-1207659026.ico' +# Game launcher — DOSBox APP_MAIN_TYPE='dosbox' APP_MAIN_EXE='hospital.exe' -APP_MAIN_ICON='goggame-1207659026.ico' -APP_MAIN_ICON_RES='16 32 48 256' -PACKAGES_LIST='PKG_BIN_DOSBOX PKG_BIN_CORSIXTH PKG_DATA' +PACKAGES_LIST='PKG_DOSBOX PKG_CORSIXTH PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' -PKG_BIN_ID="$GAME_ID" - -PKG_BIN_DOSBOX_ID="${PKG_BIN_ID}-dosbox" -PKG_BIN_DOSBOX_PROVIDE="$PKG_BIN_ID" -PKG_BIN_DOSBOX_ARCH='32' -PKG_BIN_DOSBOX_DEPS="$PKG_DATA_ID dosbox" - -PKG_BIN_CORSIXTH_ID="${PKG_BIN_ID}-corsixth" -PKG_BIN_CORSIXTH_PROVIDE="$PKG_BIN_ID" -PKG_BIN_CORSIXTH_DEPS="$PKG_DATA_ID corsix-th" +# Engine packages — common properties +PKG_ENGINE_ID="$GAME_ID" +# Engine package — DOSBox +PKG_DOSBOX_ID="${PKG_ENGINE_ID}-dosbox" +PKG_DOSBOX_PROVIDE="$PKG_ENGINE_ID" +PKG_DOSBOX_DEPS="$PKG_DATA_ID dosbox" +# Engine package — CorsixTH +PKG_CORSIXTH_ID="${PKG_ENGINE_ID}-corsixth" +PKG_CORSIXTH_PROVIDE="$PKG_ENGINE_ID" +PKG_CORSIXTH_DEPS="$PKG_DATA_ID" +PKG_CORSIXTH_DEPS_ARCH='corsix-th' +PKG_CORSIXTH_DEPS_DEB='corsix-th' +PKG_CORSIXTH_DEPS_GENTOO='games-simulation/corsix-th' # Load common functions -target_version='2.7' +target_version='2.12' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done fi -#shellcheck source=play.it-2/lib/libplayit2.sh +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" # Set path to CorsixTH depending on target system + case "$OPTION_PACKAGE" in ('arch') PATH_CORSIXTH='/usr/share/CorsixTH' @@ -107,6 +137,9 @@ ('deb') PATH_CORSIXTH='/usr/share/games/corsix-th' ;; + ('gentoo') + PATH_CORSIXTH='/usr/share/corsix-th' + ;; (*) liberror 'OPTION_PACKAGE' "$0" ;; @@ -116,46 +149,49 @@ extract_data_from "$SOURCE_ARCHIVE" prepare_package_layout -rm --recursive "$PLAYIT_WORKDIR/gamedata" # Extract icon PKG='PKG_DATA' -extract_and_sort_icons_from 'APP_MAIN' -rm "${PKG_DATA_PATH}${PATH_GAME}/$APP_MAIN_ICON" +icons_get_from_workdir 'APP_MAIN' + +# Clean up temporary files + +rm --recursive "$PLAYIT_WORKDIR/gamedata" # Write launcher for DOSBox version -PKG='PKG_BIN_DOSBOX' -write_launcher 'APP_MAIN' +PKG='PKG_DOSBOX' +launchers_write 'APP_MAIN' # Write launcher for CorsixTH version -PKG='PKG_BIN_CORSIXTH' -file="${PKG_BIN_CORSIXTH_PATH}${PATH_BIN}/$GAME_ID" -mkdir --parents "${file%/*}" -cat > "$file" << EOF -#!/bin/sh -set -o errexit - -cd '$PATH_CORSIXTH' -exec ./CorsixTH "\$@" +PKG='PKG_CORSIXTH' +target_file="${PKG_CORSIXTH_PATH}${PATH_BIN}/$GAME_ID" +mkdir --parents "$(dirname "$target_file")" +touch "$target_file" +chmod 755 "$target_file" +launcher_write_script_headers "$target_file" +cat >> "$target_file" << EOF +corsix-th "\$@" exit 0 EOF - -chmod 755 "$file" -write_desktop 'APP_MAIN' +launcher_write_desktop 'APP_MAIN' # Build package -file="$PATH_CORSIXTH/Lua/config_finder.lua" -pattern="s#\\(^ theme_hospital_install\\) = .\\+#\\1 = [[$PATH_GAME]],#" -cat > "$postinst" << EOF -sed --in-place '$pattern' '$file' -EOF -write_metadata 'PKG_BIN_CORSIXTH' -write_metadata 'PKG_BIN_DOSBOX' 'PKG_DATA' +### +# TODO +# Maybe this path can be passed through a runtime option instead +### +PKG_CORSIXTH_POSTINST_RUN="# Tweak default path to game data +file='$PATH_CORSIXTH/Lua/config_finder.lua' +pattern='^ theme_hospital_install = .*$' +replacement=' theme_hospital_install = [[$PATH_GAME]],' +sed --in-place \"s#\${pattern}#\${replacement}#\" \"\$file\"" + +write_metadata build_pkg # Clean up @@ -166,8 +202,8 @@ printf '\n' printf 'CorsixTH:' -print_instructions 'PKG_DATA' 'PKG_BIN_CORSIXTH' +print_instructions 'PKG_DATA' 'PKG_CORSIXTH' printf 'DOSBox:' -print_instructions 'PKG_DATA' 'PKG_BIN_DOSBOX' +print_instructions 'PKG_DATA' 'PKG_DOSBOX' exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-the-night-of-the-rabbit.sh play.it-2.12.1/play.it-2/games/play-the-night-of-the-rabbit.sh --- play.it-2.12.0/play.it-2/games/play-the-night-of-the-rabbit.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-the-night-of-the-rabbit.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to mopi@dotslashplay.it ### -script_version=20180802.1 +script_version=20200918.1 # Set game-specific variables @@ -117,16 +117,25 @@ target_version='2.7' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-the-pedestrian.sh play.it-2.12.1/play.it-2/games/play-the-pedestrian.sh --- play.it-2.12.0/play.it-2/games/play-the-pedestrian.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-the-pedestrian.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,154 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2016-2020, Mopi +# 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. +### + +### +# The Pedestrian +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20200818.1 + +# Set game-specific variables + +GAME_ID='the-pedestrian' +GAME_NAME='The Pedestrian' + +ARCHIVES_LIST=' +ARCHIVE_GOG_0' + +ARCHIVE_GOG_0='the_pedestrian_1_0_9_36404.sh' +ARCHIVE_GOG_0_URL='https://www.gog.com/game/the_pedestrian' +ARCHIVE_GOG_0_MD5='8c57947cdd3e1384024bceb508ec36ac' +ARCHIVE_GOG_0_SIZE='2000000' +ARCHIVE_GOG_0_VERSION='1.0.9-gog36404' +ARCHIVE_GOG_0_TYPE='mojosetup' + +ARCHIVE_DOC_DATA_PATH='data/noarch/docs' +ARCHIVE_DOC_DATA_FILES='*' + +ARCHIVE_GAME_BIN_PATH='data/noarch/game' +ARCHIVE_GAME_BIN_FILES='ThePed_Linux_64.x86_64 ThePed_Linux_64_Data/*/x86_64' + +ARCHIVE_GAME_DATA_PATH='data/noarch/game' +ARCHIVE_GAME_DATA_FILES='ThePed_Linux_64_Data UserData' + +DATA_DIRS='./logs ./UserData' + +APP_MAIN_TYPE='native' +# Work around screen resolution detection issues +# shellcheck disable=SC2016 +APP_MAIN_PRERUN='config_file="$HOME/.config/unity3d/Skookum Arts/The Pedestrian/prefs" +if [ ! -e "$config_file" ]; then + mkdir --parents "${config_file%/*}" + resolution=$(xrandr | awk "/\*/ {print $1}") + cat > "$config_file" <<- EOF + + ${resolution%x*} + ${resolution#*x} + + EOF +fi' +APP_MAIN_PRERUN='export LANG=C' +APP_MAIN_EXE_BIN='ThePed_Linux_64.x86_64' +# shellcheck disable=SC2016 +APP_MAIN_OPTIONS='-logFile ./logs/$(date +%F-%R).log' +APP_MAIN_ICON='ThePed_Linux_64_Data/Resources/UnityPlayer.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 glibc libstdc++ glx libxrandr alsa xrandr" +PKG_BIN_DEPS_ARCH='lib32-libx11 lib32-libxext' +PKG_BIN_DEPS_DEB='libx11-6, libxext6' +PKG_BIN_DEPS_GENTOO='x11-libs/libX11[abi_x86_32] x11-libs/libXext[abi_x86_32]' + +# Load common functions + +target_version='2.12' + +if [ -z "$PLAYIT_LIB2" ]; then + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +prepare_package_layout +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Get icon + +PKG='PKG_DATA' +icons_get_from_package 'APP_MAIN' + +# Write launchers + +PKG='PKG_BIN' +launchers_write 'APP_MAIN' + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-the-sexy-brutale.sh play.it-2.12.1/play.it-2/games/play-the-sexy-brutale.sh --- play.it-2.12.0/play.it-2/games/play-the-sexy-brutale.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-the-sexy-brutale.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -77,16 +77,25 @@ target_version='2.5' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-the-stanley-parable.sh play.it-2.12.1/play.it-2/games/play-the-stanley-parable.sh --- play.it-2.12.0/play.it-2/games/play-the-stanley-parable.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-the-stanley-parable.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -83,16 +83,25 @@ target_version='2.3' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-the-subject.sh play.it-2.12.1/play.it-2/games/play-the-subject.sh --- play.it-2.12.0/play.it-2/games/play-the-subject.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-the-subject.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,147 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine Le Gonidec +# Copyright (c) 2016-2020, Mopi +# 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. +### + +### +# The Subject +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20201023.3 + +# Set game-specific variables + +GAME_ID='the-subject' +GAME_NAME='The Subject' + +ARCHIVES_LIST=' +ARCHIVE_ITCH_0' + +ARCHIVE_ITCH_0='TheSubject_Linux.zip' +ARCHIVE_ITCH_0_URL='https://darkstonedigital.itch.io/thesubject' +ARCHIVE_ITCH_0_MD5='09f72ac6554e430ed5aab8b887b1abbe' +ARCHIVE_ITCH_0_SIZE='2400000' +ARCHIVE_ITCH_0_VERSION='2.0.3-itch1' +ARCHIVE_ITCH_0_TYPE='zip' + +ARCHIVE_GAME_BIN32_PATH='TheSubjectLinux' +ARCHIVE_GAME_BIN32_FILES='TheSubject.x86 TheSubject_Data/Mono/x86 TheSubject_Data/Plugins/x86' + +ARCHIVE_GAME_BIN64_PATH='TheSubjectLinux' +ARCHIVE_GAME_BIN64_FILES='TheSubject.x86_64 TheSubject_Data/Mono/x86_64 TheSubject_Data/Plugins/x86_64' + +ARCHIVE_GAME_DATA_PATH='TheSubjectLinux' +ARCHIVE_GAME_DATA_FILES='TheSubject_Data' + +DATA_DIRS='./logs' + +APP_MAIN_TYPE='native' +APP_MAIN_PRERUN='# Work around Unity3D poor support for non-US locales +export LANG=C' +APP_MAIN_EXE_BIN32='TheSubject.x86' +APP_MAIN_EXE_BIN64='TheSubject.x86_64' +APP_MAIN_ICON='TheSubject_Data/Resources/UnityPlayer.png' +# Use a per-session dedicated file for logs +# shellcheck disable=SC2016 +APP_MAIN_OPTIONS='-logFile ./logs/$(date +%F-%R).log' + +PACKAGES_LIST='PKG_BIN32 PKG_BIN64 PKG_DATA' + +PKG_DATA_ID="${GAME_ID}-data" +PKG_DATA_DESCRIPTION='data' + +PKG_BIN32_ARCH='32' +PKG_BIN32_DEPS="$PKG_DATA_ID glibc libstdc++ gtk2 libgdk_pixbuf-2.0.so.0 libgobject-2.0.so.0 libglib-2.0.so.0" + +PKG_BIN64_ARCH='64' +PKG_BIN64_DEPS="$PKG_BIN32_DEPS" + +# Load common functions + +target_version='2.12' + +if [ -z "$PLAYIT_LIB2" ]; then + for path in \ + "$PWD" \ + "${XDG_DATA_HOME:="$HOME/.local/share"}/play.it" \ + '/usr/local/share/games/play.it' \ + '/usr/local/share/play.it' \ + '/usr/share/games/play.it' \ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +prepare_package_layout + +# Get icon + +PKG='PKG_DATA' +icons_get_from_package 'APP_MAIN' + +# Clean up temporary directories + +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Write launchers + +for PKG in 'PKG_BIN32' 'PKG_BIN64'; do + launchers_write 'APP_MAIN' +done + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-the-swapper.sh play.it-2.12.1/play.it-2/games/play-the-swapper.sh --- play.it-2.12.0/play.it-2/games/play-the-swapper.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-the-swapper.sh 2020-11-25 15:14:43.000000000 +0000 @@ -1,8 +1,9 @@ -#!/bin/sh -e +#!/bin/sh set -o errexit ### # Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2016-2020, Mopi # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -30,122 +31,146 @@ ### # The Swapper -# build native Linux packages from the original installers -# send your bug reports to vv221@dotslashplay.it +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it ### -script_version=20180224.1 +script_version=20200812.7 # Set game-specific variables -SCRIPT_DEPS='find' - GAME_ID='the-swapper' GAME_NAME='The Swapper' -ARCHIVES_LIST='ARCHIVE_HUMBLE' +# find is used to delete some unwanted files related to Dropbox +SCRIPT_DEPS='find' -ARCHIVE_HUMBLE='the-swapper-linux-1.24_1409159048.sh' -ARCHIVE_HUMBLE_URL='https://www.humblebundle.com/store/the-swapper' -ARCHIVE_HUMBLE_MD5='4f9627d245388edc320f61fae7cbd29f' -ARCHIVE_HUMBLE_SIZE='980000' -ARCHIVE_HUMBLE_VERSION='1.24-humble140404' -ARCHIVE_HUMBLE_TYPE='mojosetup' +ARCHIVES_LIST=' +ARCHIVE_HUMBLE_0' -ARCHIVE_ICONS_PACK='the-swapper_icons.tar.gz' -ARCHIVE_ICONS_PACK_MD5='cddcf271fb6eb10fba870aa91c30c410' +ARCHIVE_HUMBLE_0='the-swapper-linux-1.24_1409159048.sh' +ARCHIVE_HUMBLE_0_URL='https://www.humblebundle.com/store/the-swapper' +ARCHIVE_HUMBLE_0_MD5='4f9627d245388edc320f61fae7cbd29f' +ARCHIVE_HUMBLE_0_SIZE='980000' +ARCHIVE_HUMBLE_0_VERSION='1.24-humble140404' +ARCHIVE_HUMBLE_0_TYPE='mojosetup' -ARCHIVE_DOC_PATH='data/noarch' -ARCHIVE_DOC_FILES='./README* ./Licences' +ARCHIVE_DOC_DATA_PATH='data/noarch' +ARCHIVE_DOC_DATA_FILES='README* Licences' ARCHIVE_GAME_BIN32_PATH='data/noarch' -ARCHIVE_GAME_BIN32_FILES='./TheSwapper.bin.x86 ./lib' +ARCHIVE_GAME_BIN32_FILES='lib/libfmodex.so lib/libmonosgen-2.0.so.0' ARCHIVE_GAME_BIN64_PATH='data/noarch' -ARCHIVE_GAME_BIN64_FILES='./TheSwapper.bin.x86_64 ./lib64' +ARCHIVE_GAME_BIN64_FILES='lib64/libfmodex.so lib64/libmonosgen-2.0.so.0' ARCHIVE_GAME_DATA_PATH='data/noarch' -ARCHIVE_GAME_DATA_FILES='./*' +ARCHIVE_GAME_DATA_FILES='data mono config.xml mainSettings.ini AdvanceMath.dll Antlr3.Runtime.dll C5.dll FarseerPhysics331.dll HackFlipcodeDecomposer.dll ImageManipulation.dll Jint.dll Lidgren.Network.dll MiniTK.dll MiniTK.dll.config MonoGame.Framework.dll Newtonsoft.Json.dll OptimusSwitcher.dll Poly2Tri.dll SDL2#.dll SDL2#.dll.config SteamManagedWrapper.dll Steamworks.NET.dll TargaImage.dll TrueEngine.dll TrueEngine.dll.config TheSwapper.exe TheSwapper.exe.config BugReporter.exe' -ARCHIVE_ICONS_PATH='.' -ARCHIVE_ICONS_FILES='./16x16 ./32x32 ./48x48 ./128x128' - -APP_MAIN_TYPE='native' -APP_MAIN_EXE_BIN32='TheSwapper.bin.x86' -APP_MAIN_EXE_BIN64='TheSwapper.bin.x86_64' +APP_MAIN_TYPE='mono' +APP_MAIN_LIBS_BIN32='lib' +APP_MAIN_LIBS_BIN64='lib64' +APP_MAIN_EXE='TheSwapper.exe' -PACKAGES_LIST='PKG_DATA PKG_BIN32 PKG_BIN64' +PACKAGES_LIST='PKG_BIN32 PKG_BIN64 PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' PKG_BIN32_ARCH='32' -PKG_BIN32_DEPS_DEB="$PKG_DATA_ID, libc6, libstdc++6, libsdl2-2.0-0, libsdl2-image-2.0-0" -PKG_BIN32_DEPS_ARCH="$PKG_DATA_ID lib32-glu lib32-sdl2 lib32-sdl2_image" +PKG_BIN32_DEPS="$PKG_DATA_ID mono sdl2 sdl2_image" +PKG_BIN32_DEPS_DEB='libmono-posix4.0-cil, libmono-security4.0-cil, libmono-corlib4.5-cil, libopentk1.1-cil, libmono-system-configuration4.0-cil, libmono-system-core4.0-cil, libmono-system-data4.0-cil, libmono-system4.0-cil, libmono-system-drawing4.0-cil, libmono-system-numerics4.0-cil, libmono-system-runtime-serialization4.0-cil, libmono-system-security4.0-cil, libmono-system-xml4.0-cil, libmono-system-xml-linq4.0-cil' PKG_BIN64_ARCH='64' +PKG_BIN64_DEPS="$PKG_BIN32_DEPS" PKG_BIN64_DEPS_DEB="$PKG_BIN32_DEPS_DEB" -PKG_BIN64_DEPS_ARCH="$PKG_DATA_ID glu sdl2 sdl2_image" + +# Optional icons pack + +ARCHIVE_OPTIONAL_ICONS='the-swapper_icons.tar.gz' +ARCHIVE_OPTIONAL_ICONS_MD5='cddcf271fb6eb10fba870aa91c30c410' +ARCHIVE_OPTIONAL_ICONS_URL='https://downloads.dotslashplay.it/resources/the-swapper/' + +ARCHIVE_ICONS_PATH='.' +ARCHIVE_ICONS_FILES='16x16 32x32 48x48 128x128' # Load common functions -target_version='2.5' +target_version='2.12' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done fi -#shellcheck source=play.it-2/lib/libplayit2.sh +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" -# Try to load icons archive +# Include optional icons pack ARCHIVE_MAIN="$ARCHIVE" -set_archive 'ARCHIVE_ICONS' 'ARCHIVE_ICONS_PACK' +set_archive 'ARCHIVE_ICONS' 'ARCHIVE_OPTIONAL_ICONS' +if [ -n "$ARCHIVE_ICONS" ]; then + PKG='PKG_DATA' + ( + ARCHIVE='ARCHIVE_ICONS' + extract_data_from "$ARCHIVE_ICONS" + ) + organize_data 'ICONS' "$PATH_ICON_BASE" + rm --recursive "$PLAYIT_WORKDIR/gamedata" +else + ### + # TODO + # This warning message should be provided by the library + ### + case "${LANG%_*}" in + ('fr') + message='Lʼarchive suivante nʼayant pas été fournie, lʼentrée de menu utilisera une icône générique : %s\n' + message="$message"'Cette archive peut être téléchargée depuis %s\n' + ;; + ('en'|*) + message='Due to the following archive missing, the menu entry will use a generic icon: %s\n' + message="$message"'This archive can be downloaded from %s\n' + ;; + esac + print_warning + printf "$message" "$ARCHIVE_OPTIONAL_ICONS" "$ARCHIVE_OPTIONAL_ICONS_URL" + printf '\n' +fi ARCHIVE="$ARCHIVE_MAIN" # Extract game data extract_data_from "$SOURCE_ARCHIVE" -( - if [ "$ARCHIVE_ICONS" ]; then - ARCHIVE='ARCHIVE_ICONS' - extract_data_from "$ARCHIVE_ICONS" - fi -) - -# shellcheck disable=SC2016 -find "$PLAYIT_WORKDIR/gamedata" -name '*:com.dropbox.attributes:$DATA' -delete +find "$PLAYIT_WORKDIR/gamedata" \ + -name '*:com.dropbox.attributes:$DATA' \ + -delete +prepare_package_layout -PKG='PKG_BIN32' -organize_data 'GAME_BIN32' "$PATH_GAME" - -PKG='PKG_BIN64' -organize_data 'GAME_BIN64' "$PATH_GAME" - -PKG='PKG_DATA' -organize_data 'DOC' "$PATH_DOC" -organize_data 'GAME_DATA' "$PATH_GAME" - -PKG='PKG_DATA' -if [ "$ARCHIVE_ICONS" ]; then - organize_data 'ICONS' "$PATH_ICON_BASE" -fi +# Clean up temporary files rm --recursive "$PLAYIT_WORKDIR/gamedata" # Write launchers for PKG in 'PKG_BIN32' 'PKG_BIN64'; do - write_launcher 'APP_MAIN' + launchers_write 'APP_MAIN' done # Build package @@ -159,10 +184,6 @@ # Print instructions -printf '\n' -printf '32-bit:' -print_instructions 'PKG_DATA' 'PKG_BIN32' -printf '64-bit:' -print_instructions 'PKG_DATA' 'PKG_BIN64' +print_instructions exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-the-tail-makes-the-fox.sh play.it-2.12.1/play.it-2/games/play-the-tail-makes-the-fox.sh --- play.it-2.12.0/play.it-2/games/play-the-tail-makes-the-fox.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-the-tail-makes-the-fox.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,152 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2016-2020, Mopi +# 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. +### + +### +# The Tail Makes the Fox +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20200925.1 + +# Set game-specific variables + +GAME_ID='the-tail-makes-the-fox' +GAME_NAME='The Tail Makes the Fox' + +ARCHIVES_LIST=' +ARCHIVE_ITCH_0' + +ARCHIVE_ITCH_0='The_Tail_Makes_the_Fox-1.26-pc.zip' +ARCHIVE_ITCH_0_URL='https://reineworks.itch.io/the-tail-makes-the-fox' +ARCHIVE_ITCH_0_MD5='dc1f20ed2ee44029fab065e049b9f372' +ARCHIVE_ITCH_0_SIZE='590000' +ARCHIVE_ITCH_0_VERSION='1.26-itch1' +ARCHIVE_ITCH_0_TYPE='zip' + +ARCHIVE_DOC_DATA_PATH='The_Tail_Makes_the_Fox-1.26-pc' +ARCHIVE_DOC_DATA_FILES='README.html' + +ARCHIVE_GAME_BIN32_PATH='The_Tail_Makes_the_Fox-1.26-pc' +ARCHIVE_GAME_BIN32_FILES='lib/linux-i686 The_Tail_Makes_the_Fox.sh' + +ARCHIVE_GAME_BIN64_PATH='The_Tail_Makes_the_Fox-1.26-pc' +ARCHIVE_GAME_BIN64_FILES='lib/linux-x86_64' + +ARCHIVE_GAME_DATA_PATH='The_Tail_Makes_the_Fox-1.26-pc' +ARCHIVE_GAME_DATA_FILES='lib/pythonlib2.7 game The_Tail_Makes_the_Fox.py renpy icon.png' + +DATA_DIRS='game/saves' + +APP_MAIN_TYPE='native' +APP_MAIN_EXE='The_Tail_Makes_the_Fox.sh' +APP_MAIN_ICON='icon.png' + +PACKAGES_LIST='PKG_BIN32 PKG_BIN64 PKG_DATA' + +PKG_DATA_ID="${GAME_ID}-data" +PKG_DATA_DESCRIPTION='data' + +PKG_BIN32_ARCH='32' +PKG_BIN32_DEPS="$PKG_DATA_ID glibc libstdc++" + +PKG_BIN64_ARCH='64' +PKG_BIN64_DEPS="$PKG_BIN32_DEPS" + +# Load common functions + +target_version='2.12' + +if [ -z "$PLAYIT_LIB2" ]; then + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +prepare_package_layout + +# Copy launching script between the binaries packages + +LAUNCHER_SOURCE="${PKG_BIN32_PATH}${PATH_GAME}/$APP_MAIN_EXE" +LAUNCHER_DESTINATION="${PKG_BIN64_PATH}${PATH_GAME}/$APP_MAIN_EXE" +mkdir --parents "$(dirname "$LAUNCHER_DESTINATION")" +cp "$LAUNCHER_SOURCE" "$LAUNCHER_DESTINATION" + +# Get icon + +PKG='PKG_DATA' +icons_get_from_package 'APP_MAIN' + +# Clean up temporary directories + +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Write launchers + +for PKG in 'PKG_BIN32' 'PKG_BIN64'; do + launchers_write 'APP_MAIN' +done + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-the-talos-principle.sh play.it-2.12.1/play.it-2/games/play-the-talos-principle.sh --- play.it-2.12.0/play.it-2/games/play-the-talos-principle.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-the-talos-principle.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,166 @@ +#!/bin/sh -e +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2016-2020, Mopi +# 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. +### + +### +# The Talos Principle +# build native Linux packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20201004.3 + +# Set game-specific variables + +SCRIPT_DEPS='dos2unix' + +GAME_ID='the-talos-principle' +GAME_NAME='The Talos Principle' + +ARCHIVE_GOG='setup_the_talos_principle_1.0_(64bit)_(41435).exe' +ARCHIVE_GOG_URL='https://www.gog.com/game/the_talos_principle_gold_edition' +ARCHIVE_GOG_MD5='769f3ba085c913d2bc44e22726bdadc8' +ARCHIVE_GOG_SIZE='6900000' +ARCHIVE_GOG_VERSION='1.0-gog41435' +ARCHIVE_GOG_TYPE='innosetup_nolowercase' + +ARCHIVE_GOG_PART1='setup_the_talos_principle_1.0_(64bit)_(41435)-1.bin' +ARCHIVE_GOG_PART1_MD5='4b94687328d0017b219e932ce73c44f5' +ARCHIVE_GOG_PART1_TYPE='innosetup' + +ARCHIVE_GOG_PART2='setup_the_talos_principle_1.0_(64bit)_(41435)-2.bin' +ARCHIVE_GOG_PART2_MD5='4216d66194c80ef8cfbfb5eeff82a54a' +ARCHIVE_GOG_PART2_TYPE='innosetup' + +ARCHIVE_GAME_BIN_PATH='.' +ARCHIVE_GAME_BIN_FILES='Bin' + +ARCHIVE_GAME_DATA_PATH='.' +ARCHIVE_GAME_DATA_FILES='Content' + +DATA_DIRS='./UserData' +CONFIG_FILES='./UserCfg.lua' + +APP_MAIN_TYPE='wine' +APP_MAIN_EXE='Bin/x64/Talos.exe' +APP_MAIN_ICON='Bin/x64/Talos.exe' + +PACKAGES_LIST='PKG_DATA PKG_BIN' + +PKG_DATA_ID="${GAME_ID}-data" +PKG_DATA_DESCRIPTION='data' + +PKG_BIN_ARCH='64' +PKG_BIN_DEPS="$PKG_DATA_ID wine winetricks" + +# Set minimal configuration file + +APP_MAIN_PRERUN="$APP_MAIN_PRERUN"' +# Set minimal configuration file +CONF_FILE="UserData/Talos.ini" +if [ ! -e "$CONF_FILE" ] ; then + cat > "$CONF_FILE" <<- EOF + gfx_strAPI = "Vulkan"; + sfx_strAPI = "XAudio"; + sfx_strAudioDevice = "ID:0"; + EOF +fi' + +# Load common functions + +target_version='2.12' + +if [ -z "$PLAYIT_LIB2" ]; then + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +prepare_package_layout + +# Get icon + +PKG='PKG_BIN' +icons_get_from_package 'APP_MAIN' + +# Clean up temporary directories + +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Work around broken graphics driver detection code + +lua_file="${PKG_DATA_PATH}${PATH_GAME}/Content/Talos/Config/CheckDriver.lua" +cat > "$lua_file" << 'EOF' +-- assume no driver version detection +gfx_iReqDriverVersion = 0; +gfx_bWrongDriver = 0; +EOF +unix2dos "$lua_file" >/dev/null 2>&1 + +# Write launchers + +PKG='PKG_BIN' +launchers_write 'APP_MAIN' + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-the-westport-independent.sh play.it-2.12.1/play.it-2/games/play-the-westport-independent.sh --- play.it-2.12.0/play.it-2/games/play-the-westport-independent.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-the-westport-independent.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180413.1 +script_version=20200918.1 # Set game-specific variables @@ -92,16 +92,25 @@ target_version='2.7' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-the-whispered-world.sh play.it-2.12.1/play.it-2/games/play-the-whispered-world.sh --- play.it-2.12.0/play.it-2/games/play-the-whispered-world.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-the-whispered-world.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -103,16 +103,25 @@ target_version='2.5' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-the-witcher-1.sh play.it-2.12.1/play.it-2/games/play-the-witcher-1.sh --- play.it-2.12.0/play.it-2/games/play-the-witcher-1.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-the-witcher-1.sh 2020-11-25 15:14:43.000000000 +0000 @@ -32,16 +32,19 @@ ### # The Witcher: Enhanced Edition # build native packages from the original installers -# send your bug reports to vv221@dotslashplay.it +# send your bug reports to contact@dotslashplay.it ### -script_version=20190729.6 +script_version=20200830.15 # Set game-specific variables GAME_ID='the-witcher-1' GAME_NAME='The Witcher' +# unix2dos (provided by dos2unix) is used to generate a .reg file +SCRIPT_DEPS='dos2unix' + ARCHIVE_GOG='setup_the_witcher_enhanced_edition_1.5_(a)_(10712).exe' ARCHIVE_GOG_URL='https://www.gog.com/game/the_witcher' ARCHIVE_GOG_MD5='2440cfb5fb4890ff4b9bc4b88b434d38' @@ -72,7 +75,6 @@ ARCHIVE_ADDONS_PATH='app/__support/add/the witcher' ARCHIVE_ADDONS_FILES='*' -APP_REGEDIT='init.reg' # Fix texture issues # cf. https://bugs.winehq.org/show_bug.cgi?id=46553 APP_WINETRICKS='d3dx9_35' @@ -99,9 +101,49 @@ PKG_BIN_ARCH='32' PKG_BIN_DEPS="$PKG_DATA_ID wine winetricks glx xcursor" +# Use persistent storage for game settings and key bindings + +CONFIG_DIRS="$CONFIG_DIRS ./registry-dumps" +APP_MAIN_PRERUN="$APP_MAIN_PRERUN"' +# Set path for persistent dumps of game settings and key bindings +registry_dump_settings="registry-dumps/settings.reg" +registry_dump_bindings="registry-dumps/bindings.reg"' +APP_MAIN_POSTRUN="$APP_MAIN_POSTRUN"' +# Dump game settings and key bindings +regedit -E "$registry_dump_settings" "HKEY_CURRENT_USER\Software\CD Projekt RED\Witcher\Settings" +regedit -E "$registry_dump_bindings" "HKEY_CURRENT_USER\Software\CD Projekt RED\Witcher\Bindings"' +APP_MAIN_PRERUN="$APP_MAIN_PRERUN"' +# Load dumps of game settings and key bindings +for registry_dump in \ + "$registry_dump_settings" \ + "$registry_dump_bindings" +do + if [ -e "$registry_dump" ]; then + regedit "$registry_dump" + fi +done' + +# Store saved games in persistent paths + +DATA_DIRS="$DATA_DIRS ./saves" +APP_MAIN_PRERUN="$APP_MAIN_PRERUN"' +# Store saved games in persistent paths +saves_path_prefix="$WINEPREFIX/drive_c/users/$USER/My Documents/The Witcher/saves" +saves_path_persistent="$PATH_PREFIX/saves" +if [ ! -h "$saves_path_prefix" ]; then + if [ -d "$saves_path_prefix" ]; then + # Migrate existing saves to the persistent path + mv "$saves_path_prefix"/* "$saves_path_persistent" + rmdir "$saves_path_prefix" + fi + # Create link from prefix to persistent path + mkdir --parents "$(dirname "$saves_path_prefix")" + ln --symbolic "$saves_path_persistent" "$saves_path_prefix" +fi' + # Load common functions -target_version='2.11' +target_version='2.12' if [ -z "$PLAYIT_LIB2" ]; then : "${XDG_DATA_HOME:="$HOME/.local/share"}" @@ -144,18 +186,15 @@ icons_get_from_package 'APP_MAIN' icons_move_to 'PKG_DATA' -# Write launchers - -PKG='PKG_BIN' -launchers_write 'APP_MAIN' - # Set up required registry keys -cat > "${PKG_BIN_PATH}${PATH_GAME}/init.reg" << 'EOF' +registry_dump="${PKG_BIN_PATH}${PATH_GAME}/${APP_REGEDIT:=init.reg}" + +cat > "$registry_dump" << EOF Windows Registry Editor Version 5.00 -[HKEY_LOCAL_MACHINE\Software\CD Projekt Red\The Witcher] -"InstallFolder"="C:\\the-witcher\\" +[HKEY_LOCAL_MACHINE\\Software\\CD Projekt Red\\The Witcher] +"InstallFolder"="C:\\\\${GAME_ID}\\\\" "IsDjinniInstalled"=dword:00000001 "Language"="3" "RegionVersion"="WE" @@ -164,12 +203,19 @@ # Work around invisible models and flickering # cf. https://bugs.winehq.org/show_bug.cgi?id=34052 -cat >> "${PKG_BIN_PATH}${PATH_GAME}/init.reg" << 'EOF' +cat >> "$registry_dump" << 'EOF' [HKEY_CURRENT_USER\Software\Wine\Direct3D] "CheckFloatConstants"="enabled" EOF +unix2dos "$registry_dump" 2>/dev/null + +# Write launchers + +PKG='PKG_BIN' +launchers_write 'APP_MAIN' + # Build package write_metadata diff -Nru play.it-2.12.0/play.it-2/games/play-thief-3.sh play.it-2.12.1/play.it-2/games/play-thief-3.sh --- play.it-2.12.0/play.it-2/games/play-thief-3.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-thief-3.sh 2020-11-25 15:14:43.000000000 +0000 @@ -1,8 +1,9 @@ -#!/bin/sh -e +#!/bin/sh set -o errexit ### # Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2017-2020, Jacek Szafarkiewicz # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -30,47 +31,59 @@ ### # Thief 3: Deadly Shadows -# build native Linux packages from the original installers -# send your bug reports to vv221@dotslashplay.it +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it ### -script_version=20180224.1 +script_version=20201031.19 # Set game-specific variables -GAME_ID='thief3' +GAME_ID='thief-3' GAME_NAME='Thief 3: Deadly Shadows' -ARCHIVES_LIST='ARCHIVE_GOG' +ARCHIVES_LIST=' +ARCHIVE_GOG_1 +ARCHIVE_GOG_0' + +ARCHIVE_GOG_1='setup_thief_-_deadly_shadows_1.1_(21683).exe' +ARCHIVE_GOG_1_URL='https://www.gog.com/game/thief_3' +ARCHIVE_GOG_1_MD5='153723f2908242cf27a23ad58d0608b5' +ARCHIVE_GOG_1_VERSION='1.1-gog2.21683' +ARCHIVE_GOG_1_SIZE='2300000' +ARCHIVE_GOG_1_TYPE='innosetup' +ARCHIVE_GOG_1_PART1='setup_thief_-_deadly_shadows_1.1_(21683)-1.bin' +ARCHIVE_GOG_1_PART1_MD5='8c549826345776df192fb1721740096f' +ARCHIVE_GOG_1_PART1_TYPE='innosetup' + +ARCHIVE_GOG_0='setup_thief3_2.0.0.6.exe' +ARCHIVE_GOG_0_MD5='e5b84de58a1037f3e8aa3a1bb2a982be' +ARCHIVE_GOG_0_VERSION='1.1-gog2.0.0.6' +ARCHIVE_GOG_0_SIZE='2300000' +ARCHIVE_GOG_0_TYPE='innosetup' -ARCHIVE_GOG='setup_thief3_2.0.0.6.exe' -ARCHIVE_GOG_URL='https://www.gog.com/game/thief_3' -ARCHIVE_GOG_MD5='e5b84de58a1037f3e8aa3a1bb2a982be' -ARCHIVE_GOG_VERSION='1.1-gog2.0.0.6' -ARCHIVE_GOG_SIZE='2300000' -ARCHIVE_GOG_TYPE='innosetup' - -#ARCHIVE_SNEAKY='Setup_T3SneakyUpgrade_Full_1.1.8.exe' -#ARCHIVE_SNEAKY_MD5='b1e96ddb28340f29c9da315e3a47bdbb' +ARCHIVE_DOC_DATA_PATH='.' +ARCHIVE_DOC_DATA_FILES='*.pdf eula.txt readme.rtf' -ARCHIVE_DOC_DATA_PATH='app' -ARCHIVE_DOC_DATA_FILES='./*.pdf ./eula.txt ./readme.rtf' +ARCHIVE_GAME_BIN_PATH='.' +ARCHIVE_GAME_BIN_FILES='system' -ARCHIVE_GAME_BIN_PATH='app' -ARCHIVE_GAME_BIN_FILES='./*.dll ./*.reg ./system/*.exe ./system/*.dll' - -ARCHIVE_GAME_DATA_PATH='app' -ARCHIVE_GAME_DATA_FILES='./*.ini ./system ./content' +ARCHIVE_GAME_DATA_PATH='.' +ARCHIVE_GAME_DATA_FILES='content' CONFIG_FILES='./*.ini' CONFIG_DIRS='./saves' -APP_REGEDIT="thief.reg" +# Keep compatibility with old archives +ARCHIVE_DOC_DATA_PATH_GOG_0='app' +ARCHIVE_GAME_BIN_PATH_GOG_0='app' +ARCHIVE_GAME_DATA_PATH_GOG_0='app' + +APP_REGEDIT='thief.reg' APP_MAIN_TYPE='wine' APP_MAIN_EXE='system/t3.exe' -APP_MAIN_ICON='gfw_high.ico' -APP_MAIN_ICON_RES='32' +APP_MAIN_ICON='system/t3.exe' PACKAGES_LIST='PKG_BIN PKG_DATA' @@ -80,72 +93,86 @@ PKG_BIN_ARCH='32' PKG_BIN_DEPS="$PKG_DATA_ID wine" +# Ensure smooth upgrade from pre-20201031.16 packages +PKG_BIN_PROVIDE='thief3' +PKG_DATA_PROVIDE='thief3-data' + # Load common functions -target_version='2.4' +target_version='2.12' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + for path in \ + "$PWD" \ + "${XDG_DATA_HOME:="$HOME/.local/share"}/play.it" \ + '/usr/local/share/games/play.it' \ + '/usr/local/share/play.it' \ + '/usr/share/games/play.it' \ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done fi -#shellcheck source=play.it-2/lib/libplayit2.sh +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" # Extract game data extract_data_from "$SOURCE_ARCHIVE" +prepare_package_layout -# Add regedit file +# Get game icon -cat > "$PLAYIT_WORKDIR/gamedata/app/thief.reg" <<- 'EOF' - Windows Registry Editor Version 5.00 +PKG='PKG_BIN' +icons_get_from_package 'APP_MAIN' +icons_move_to 'PKG_DATA' - [HKEY_LOCAL_MACHINE\Software\Ion Storm] +# Clean up temporary files - [HKEY_LOCAL_MACHINE\Software\Ion Storm\Thief - Deadly Shadows] -EOF -cat >> "$PLAYIT_WORKDIR/gamedata/app/thief.reg" <<- EOF - "ION_ROOT"="C:\\\\$GAME_ID" - "SaveGamePath"="C:\\\\$GAME_ID\\\\saves" -EOF +rm --recursive "$PLAYIT_WORKDIR/gamedata" -cat >> "$PLAYIT_WORKDIR/gamedata/app/thief.reg" <<- 'EOF' - [HKEY_LOCAL_MACHINE\Software\Ion Storm\Thief - Deadly Shadows\SecuROM] +# Set up required registry keys - [HKEY_LOCAL_MACHINE\Software\Ion Storm\Thief - Deadly Shadows\SecuROM\Locale] - "ADMIN_RIGHTS"="Application requires Windows administrator rights." - "ANALYSIS_DISCLAIMER"="Dear Software User,\\n\\nThis test program has been developed with your personal interest in mind to check for possible hardware and/or software incompatibility on your PC. To shorten the analysis time, system information is collected (similar to the Microsoft's msinfo32.exe program).\\n\\nData will be compared with our knowledge base to discover hardware/software conflicts. Submitting the log file is totally voluntary. The collected data is for evaluation purposes only and is not used in any other manner.\\n\\nYour Support Team\\n\\nDo you want to start?" - "ANALYSIS_DONE"="The Information was successfully collected and stored to the following file:\\n\\n\\\"%FILE%\\\"\\n\\nPlease contact Customer Support for forwarding instructions." - "AUTH_TIMEOUT"="Unable to authenticate original disc within time limit." - "EMULATION_DETECTED"="Conflict with Disc Emulator Software detected." - "NO_DISC"="No disc inserted." - "NO_DRIVE"="No CD or DVD drive found." - "NO_ORIG_FOUND"="Please insert the original disc instead of a backup." - "TITLEBAR"="Thief: Deadly Shadows" - "WRONG_DISC"="Wrong Disc inserted. Please insert the Thief: Deadly Shadows disc into your CD/DVD drive." -EOF +registry_file="${PKG_BIN_PATH}${PATH_GAME}/thief.reg" +cat > "$registry_file" << 'EOF' +Windows Registry Editor Version 5.00 -set_standard_permissions "$PLAYIT_WORKDIR/gamedata" +[HKEY_LOCAL_MACHINE\Software\Ion Storm] -for PKG in $PACKAGES_LIST; do - organize_data "DOC_${PKG#PKG_}" "$PATH_DOC" - organize_data "GAME_${PKG#PKG_}" "$PATH_GAME" -done +[HKEY_LOCAL_MACHINE\Software\Ion Storm\Thief - Deadly Shadows] +EOF +cat >> "$registry_file" << EOF +"ION_ROOT"="C:\\\\$GAME_ID" +"SaveGamePath"="C:\\\\$GAME_ID\\\\saves" +EOF +cat >> "$registry_file" << 'EOF' +[HKEY_LOCAL_MACHINE\Software\Ion Storm\Thief - Deadly Shadows\SecuROM] -rm --recursive "$PLAYIT_WORKDIR/gamedata" +[HKEY_LOCAL_MACHINE\Software\Ion Storm\Thief - Deadly Shadows\SecuROM\Locale] +"ADMIN_RIGHTS"="Application requires Windows administrator rights." +"ANALYSIS_DISCLAIMER"="Dear Software User,\\n\\nThis test program has been developed with your personal interest in mind to check for possible hardware and/or software incompatibility on your PC. To shorten the analysis time, system information is collected (similar to the Microsoft's msinfo32.exe program).\\n\\nData will be compared with our knowledge base to discover hardware/software conflicts. Submitting the log file is totally voluntary. The collected data is for evaluation purposes only and is not used in any other manner.\\n\\nYour Support Team\\n\\nDo you want to start?" +"ANALYSIS_DONE"="The Information was successfully collected and stored to the following file:\\n\\n\\\"%FILE%\\\"\\n\\nPlease contact Customer Support for forwarding instructions." +"AUTH_TIMEOUT"="Unable to authenticate original disc within time limit." +"EMULATION_DETECTED"="Conflict with Disc Emulator Software detected." +"NO_DISC"="No disc inserted." +"NO_DRIVE"="No CD or DVD drive found." +"NO_ORIG_FOUND"="Please insert the original disc instead of a backup." +"TITLEBAR"="Thief: Deadly Shadows" +"WRONG_DISC"="Wrong Disc inserted. Please insert the Thief: Deadly Shadows disc into your CD/DVD drive." +EOF # Write launchers PKG='PKG_BIN' -write_launcher 'APP_MAIN' +launchers_write 'APP_MAIN' # Build package diff -Nru play.it-2.12.0/play.it-2/games/play-thomas-was-alone.sh play.it-2.12.1/play.it-2/games/play-thomas-was-alone.sh --- play.it-2.12.0/play.it-2/games/play-thomas-was-alone.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-thomas-was-alone.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20171115.1 +script_version=20200918.1 # Set game-specific variables @@ -78,16 +78,25 @@ target_version='2.3' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-tiny-and-big.sh play.it-2.12.1/play.it-2/games/play-tiny-and-big.sh --- play.it-2.12.0/play.it-2/games/play-tiny-and-big.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-tiny-and-big.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,184 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2020, HS-157 +# 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. +### + +### +# Tiny and Big: Grandpa's Leftovers +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20200715.2 + +# Set game-specific variables + +GAME_ID='tiny-and-big' +GAME_NAME="Tiny and Big: Grandpa's Leftovers" + +ARCHIVE_GOG='tiny_and_big_grandpa_s_leftovers_en_1_4_2_15616.sh' +ARCHIVE_GOG_TYPE='mojosetup' +ARCHIVE_GOG_URL='https://www.gog.com/game/tiny_and_big_grandpas_leftovers' +ARCHIVE_GOG_MD5='bdcc1ea8366dedcfe00b50c439fd5ec9' +ARCHIVE_GOG_VERSION='1.4.2-gog15616' +ARCHIVE_GOG_SIZE='2400000' + +ARCHIVE_HUMBLE='tinyandbig_grandpasleftovers-retail-linux-1.4.1_1370968537.tar.bz2' +ARCHIVE_HUMBLE_TYPE='tar' +ARCHIVE_HUMBLE_URL='https://www.humblebundle.com/store/tiny-big-grandpas-leftovers' +ARCHIVE_HUMBLE_MD5='c6c2bc286f11e4a232211c5176105890' +ARCHIVE_HUMBLE_VERSION='1.4.1-humble1370968537' +ARCHIVE_HUMBLE_SIZE='2400000' + +# Optional icons pack +ARCHIVE_OPTIONAL_ICONS='tiny-and-big_icons.tar.gz' +ARCHIVE_OPTIONAL_ICONS_MD5='043fa61c838ba6b2ef301c52660352b1' +ARCHIVE_OPTIONAL_ICONS_URL='https://downloads.dotslashplay.it/games/tiny-and-big/' + +ARCHIVE_ICONS_PATH='.' +ARCHIVE_ICONS_FILES='16x16 24x24 32x32 48x48 64x64' + +ARCHIVE_GAME_BIN32_PATH_GOG='data/noarch/game' +ARCHIVE_GAME_BIN32_PATH_HUMBLE='tinyandbig' +ARCHIVE_GAME_BIN32_FILES='bin32' + +ARCHIVE_GAME_BIN64_PATH_GOG='data/noarch/game' +ARCHIVE_GAME_BIN64_PATH_HUMBLE='tinyandbig' +ARCHIVE_GAME_BIN64_FILES='bin64' + +ARCHIVE_GAME_DATA_PATH_GOG='data/noarch/game' +ARCHIVE_GAME_DATA_PATH_HUMBLE='tinyandbig' +ARCHIVE_GAME_DATA_FILES='assets' + +CONFIG_FILES='options.txt' +DATA_FILES='*.save' + +APP_MAIN_TYPE='native' +APP_MAIN_EXE_BIN32='bin32/tinyandbig' +APP_MAIN_EXE_BIN64='bin64/tinyandbig' + +PACKAGES_LIST='PKG_BIN32 PKG_BIN64 PKG_DATA' + +PKG_DATA_ID="${GAME_ID}-data" +PKG_DATA_DESCRIPTION='data' + +PKG_BIN32_ARCH='32' +PKG_BIN32_DEPS="$PKG_DATA_ID glx glibc libstdc++ openal sdl2" +PKG_BIN32_DEPS_ARCH='lib32-libx11' +PKG_BIN32_DEPS_DEB='libx11-6' +PKG_BIN32_DEPS_GENTOO='x11-libs/libX11[abi_x86_32]' + +PKG_BIN64_ARCH='64' +PKG_BIN64_DEPS="$PKG_BIN32_DEPS" +PKG_BIN64_DEPS_ARCH='libx11' +PKG_BIN64_DEPS_DEB="$PKG_BIN32_DEPS_DEB" +PKG_BIN64_DEPS_GENTOO='x11-libs/libX11' + +# Load common functions + +target_version='2.11' + +if [ -z "$PLAYIT_LIB2" ]; then + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Include optional icons pack + +ARCHIVE_MAIN="$ARCHIVE" +set_archive 'ARCHIVE_ICONS' 'ARCHIVE_OPTIONAL_ICONS' +if [ -n "$ARCHIVE_ICONS" ]; then + PKG='PKG_DATA' + ( + ARCHIVE='ARCHIVE_ICONS' + extract_data_from "$ARCHIVE_ICONS" + ) + organize_data 'ICONS' "$PATH_ICON_BASE" + rm --recursive "$PLAYIT_WORKDIR/gamedata" +else + case "${LANG%_*}" in + ('fr') + message='Lʼarchive suivante nʼayant pas été fournie, lʼentrée de menu utilisera une icône générique : %s\n' + message="$message"'Cette archive peut être téléchargée depuis %s\n' + ;; + ('en'|*) + message='Due to the following archive missing, the menu entry will use a generic icon: %s\n' + message="$message"'This archive can be downloaded from %s\n' + ;; + esac + print_warning + printf "$message" "$ARCHIVE_OPTIONAL_ICONS" "$ARCHIVE_OPTIONAL_ICONS_URL" + printf '\n' +fi +ARCHIVE="$ARCHIVE_MAIN" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +prepare_package_layout +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Write launchers +for PKG in 'PKG_BIN32' 'PKG_BIN64'; do + launchers_write 'APP_MAIN' +done + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-torchlight-2.sh play.it-2.12.1/play.it-2/games/play-torchlight-2.sh --- play.it-2.12.0/play.it-2/games/play-torchlight-2.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-torchlight-2.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -113,16 +113,25 @@ target_version='2.3' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-to-the-moon.sh play.it-2.12.1/play.it-2/games/play-to-the-moon.sh --- play.it-2.12.0/play.it-2/games/play-to-the-moon.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-to-the-moon.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -87,16 +87,25 @@ target_version='2.3' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-touhou-koumakyou-the-embodiment-of-scarlet-devil-demo.sh play.it-2.12.1/play.it-2/games/play-touhou-koumakyou-the-embodiment-of-scarlet-devil-demo.sh --- play.it-2.12.0/play.it-2/games/play-touhou-koumakyou-the-embodiment-of-scarlet-devil-demo.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-touhou-koumakyou-the-embodiment-of-scarlet-devil-demo.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,162 @@ +#!/bin/sh -e +set -o errexit + +### +# Copyright (c) 2020, Emmanuel Gil Peyrot +# 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. +### + +### +# Touhou Koumakyou ~ the Embodiment of Scarlet Devil - Demo +# build native packages from the original installers +# send your bug reports to vv221@dotslashplay.it +### + +script_version=20200930.1 + +# Set game-specific variables + +GAME_ID='touhou-koumakyou-the-embodiment-of-scarlet-devil-demo' +GAME_NAME='Touhou Koumakyou ~ the Embodiment of Scarlet Devil - Demo' + +SCRIPT_DEPS='convmv iconv' + +ARCHIVE_ZUN='kouma_tr013.lzh' +ARCHIVE_ZUN_URL='http://www16.big.or.jp/~zun/html/th06.html' +ARCHIVE_ZUN_MD5='7ea4be414a7f256429a2c5e4666c9881' +ARCHIVE_ZUN_VERSION='0.13-zun1' +ARCHIVE_ZUN_SIZE='4500' +ARCHIVE_ZUN_TYPE='lha' + +ARCHIVE_DOC_DATA_PATH='東方紅魔郷 体験版' +ARCHIVE_DOC_DATA_FILES='*.txt マニュアル' + +ARCHIVE_GAME_BIN_PATH='東方紅魔郷 体験版' +ARCHIVE_GAME_BIN_FILES='*.exe' + +ARCHIVE_GAME_DATA_PATH='東方紅魔郷 体験版' +ARCHIVE_GAME_DATA_FILES='*.DAT' + +# Store saved games and settings outside of WINE prefix +CONFIG_FILES='./東方紅魔郷.cfg' +DATA_FILES='./log.txt ./score.dat' +DATA_DIRS='./replay' + +APP_MAIN_TYPE='wine' +APP_MAIN_PRERUN='export LANG=ja_JP.UTF-8' +APP_MAIN_EXE='東方紅魔郷.exe' +APP_MAIN_ICON='東方紅魔郷.exe' + +APP_CONFIG_ID="${GAME_ID}_config" +APP_CONFIG_TYPE='wine' +APP_CONFIG_PRERUN='export LANG=ja_JP.UTF-8' +APP_CONFIG_EXE='custom.exe' +APP_CONFIG_ICON='custom.exe' +APP_CONFIG_NAME="$GAME_NAME - configuration" +APP_CONFIG_CAT='Settings' + +PACKAGES_LIST='PKG_BIN PKG_DATA' + +PKG_DATA_ID="${GAME_ID}-data" +PKG_DATA_DESCRIPTION='data' + +PKG_BIN_ARCH='32' +PKG_BIN_DEPS="$PKG_DATA_ID wine glx" +PKG_BIN_DEPS_DEB='fonts-wqy-microhei' +PKG_BIN_DEPS_ARCH='wqy-microhei' +PKG_BIN_DEPS_GENTOO='media-fonts/wqy-microhei' + +# Load common functions + +target_version='2.12' + +if [ -z "$PLAYIT_LIB2" ]; then + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +#shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" + +# Convert the file names to UTF-8 encoding + +if [ $DRY_RUN -eq 0 ]; then + convmv -f CP932 -t UTF-8 --notest -r "$PLAYIT_WORKDIR"/gamedata >/dev/null +fi + +# Convert the text files to UTF-8 encoding + +if [ $DRY_RUN -eq 0 ]; then + find "$PLAYIT_WORKDIR" \( -name '*.txt' -o -name '*.html' \) -exec\ + sh -c 'contents=$(iconv --from-code CP932 --to-code UTF-8 "$1"); printf "%s" "$contents" > "$1"' -- '{}' \; +fi + +prepare_package_layout + +# Extract game icons + +PKG='PKG_BIN' +icons_get_from_package 'APP_MAIN' 'APP_CONFIG' +icons_move_to 'PKG_DATA' + +# Write launchers + +PKG='PKG_BIN' +launchers_write 'APP_MAIN' 'APP_CONFIG' + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-tri-of-friendship-and-madness.sh play.it-2.12.1/play.it-2/games/play-tri-of-friendship-and-madness.sh --- play.it-2.12.0/play.it-2/games/play-tri-of-friendship-and-madness.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-tri-of-friendship-and-madness.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -93,16 +93,25 @@ target_version='2.3' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-tropico-2.sh play.it-2.12.1/play.it-2/games/play-tropico-2.sh --- play.it-2.12.0/play.it-2/games/play-tropico-2.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-tropico-2.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180406.1 +script_version=20200918.1 # Set game-specific variables @@ -95,16 +95,25 @@ target_version='2.7' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-tropico.sh play.it-2.12.1/play.it-2/games/play-tropico.sh --- play.it-2.12.0/play.it-2/games/play-tropico.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-tropico.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -101,16 +101,25 @@ target_version='2.1' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-tulpa.sh play.it-2.12.1/play.it-2/games/play-tulpa.sh --- play.it-2.12.0/play.it-2/games/play-tulpa.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-tulpa.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -85,16 +85,25 @@ target_version='2.4' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-unsung-warriors-prologue.sh play.it-2.12.1/play.it-2/games/play-unsung-warriors-prologue.sh --- play.it-2.12.0/play.it-2/games/play-unsung-warriors-prologue.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-unsung-warriors-prologue.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,152 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine Le Gonidec +# Copyright (c) 2016-2020, Mopi +# 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. +### + +### +# Unsung Warriors +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20201019.3 + +# Set game-specific variables + +GAME_ID='unsung-warriors-prologue' +GAME_NAME='Unsung Warriors Prologue' + +ARCHIVES_LIST=' +ARCHIVE_ITCH_0' + +ARCHIVE_ITCH_0='unsung-warriors-prologue-linux.zip' +ARCHIVE_ITCH_0_URL='https://unsungwarriors.itch.io/unsung-warriors-prologue' +ARCHIVE_ITCH_0_MD5='09fd165d947d2eb02bc51a04b06e415a' +ARCHIVE_ITCH_0_SIZE='310000' +ARCHIVE_ITCH_0_VERSION='1.0.5.1-itch1' +ARCHIVE_ITCH_0_TYPE='zip' + +ARCHIVE_DOC_DATA_PATH='.' +ARCHIVE_DOC_DATA_FILES='readme.txt' + +ARCHIVE_GAME_BIN32_PATH='.' +ARCHIVE_GAME_BIN32_FILES='UnsungWarriorsPrologue.x86 UnsungWarriorsPrologue_Data/Mono/x86 UnsungWarriorsPrologue_Data/Plugins/x86' + +ARCHIVE_GAME_BIN64_PATH='.' +ARCHIVE_GAME_BIN64_FILES='UnsungWarriorsPrologue.x86_64 UnsungWarriorsPrologue_Data/Mono/x86_64 UnsungWarriorsPrologue_Data/Plugins/x86_64' + +ARCHIVE_GAME_DATA_PATH='.' +ARCHIVE_GAME_DATA_FILES='UnsungWarriorsPrologue_Data' + +DATA_DIRS='./logs' + +APP_MAIN_TYPE='native' +APP_MAIN_PRERUN='# Work around Unity3D poor support for non-US locales +export LANG=C' +APP_MAIN_EXE_BIN32='UnsungWarriorsPrologue.x86' +APP_MAIN_EXE_BIN64='UnsungWarriorsPrologue.x86_64' +APP_MAIN_ICON='UnsungWarriorsPrologue_Data/Resources/UnityPlayer.png' +# Use a per-session dedicated file for logs +# shellcheck disable=SC2016 +APP_MAIN_OPTIONS='-logFile ./logs/$(date +%F-%R).log' + +PACKAGES_LIST='PKG_BIN32 PKG_BIN64 PKG_DATA' + +PKG_DATA_ID="${GAME_ID}-data" +PKG_DATA_DESCRIPTION='data' + +PKG_BIN32_ARCH='32' +PKG_BIN32_DEPS="$PKG_DATA_ID glibc libstdc++" + +PKG_BIN64_ARCH='64' +PKG_BIN64_DEPS="$PKG_BIN32_DEPS" + + +# Load common functions + +target_version='2.12' + +if [ -z "$PLAYIT_LIB2" ]; then + for path in \ + "$PWD" \ + "${XDG_DATA_HOME:="$HOME/.local/share"}/play.it" \ + '/usr/local/share/games/play.it' \ + '/usr/local/share/play.it' \ + '/usr/share/games/play.it' \ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +set_standard_permissions "$PLAYIT_WORKDIR/gamedata" +prepare_package_layout + +# Get icon + +PKG='PKG_DATA' +icons_get_from_package 'APP_MAIN' + +# Clean up temporary directories + +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Write launchers + +for PKG in 'PKG_BIN32' 'PKG_BIN64'; do + launchers_write 'APP_MAIN' +done + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-untitled-cat-unboxing.sh play.it-2.12.1/play.it-2/games/play-untitled-cat-unboxing.sh --- play.it-2.12.0/play.it-2/games/play-untitled-cat-unboxing.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-untitled-cat-unboxing.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,117 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2016-2020, Mopi +# 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. +### + +### +# Untitled Cat Unboxing +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20201006.1 + +# Set game-specific variables + +GAME_ID='untitled-cat-unboxing' +GAME_NAME='Untitled Cat Unboxing' + +ARCHIVES_LIST=' +ARCHIVE_ITCH_0 +' + +ARCHIVE_ITCH_0='Untitled cat unboxing.x86_64' +ARCHIVE_ITCH_0_URL='https://reispfannenfresser.itch.io/untitled-cat-unboxing' +ARCHIVE_ITCH_0_MD5='96366d6a04c6f3081aee60ba9a167b65' +ARCHIVE_ITCH_0_SIZE='42000' +ARCHIVE_ITCH_0_VERSION='1.0-itch' +ARCHIVE_ITCH_0_TYPE='file' + +APP_MAIN_TYPE='native' +APP_MAIN_EXE='Untitled cat unboxing.x86_64' + +PACKAGES_LIST='PKG_MAIN' + +PKG_MAIN_ARCH='64' +PKG_MAIN_DEPS="glibc glx xcursor libxrandr alsa" +PKG_MAIN_DEPS_ARCH='lib32-libx11 lib32-libxinerama lib32-libpulse' +PKG_MAIN_DEPS_DEB='libx11-6, libxinerama1, libpulse0, libxi6' +PKG_MAIN_DEPS_GENTOO='x11-libs/libX11[abi_x86_32] x11-libs/libXinerama[abi_x86_32] media-sound/pulseaudio[abi_x86_32]' + +# Load common functions + +target_version='2.12' + +if [ -z "$PLAYIT_LIB2" ]; then + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +mkdir --parents "${PKG_MAIN_PATH}${PATH_GAME}" +cp "$SOURCE_ARCHIVE" "${PKG_MAIN_PATH}${PATH_GAME}/Untitled cat unboxing.x86_64" + +# Write launchers + +launchers_write 'APP_MAIN' + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-valhalla-hills.sh play.it-2.12.1/play.it-2/games/play-valhalla-hills.sh --- play.it-2.12.0/play.it-2/games/play-valhalla-hills.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-valhalla-hills.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180415.1 +script_version=20200918.1 # Set game-specific variables @@ -79,16 +79,25 @@ target_version='2.7' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-vampire-the-masquerade-coteries-of-new-york.sh play.it-2.12.1/play.it-2/games/play-vampire-the-masquerade-coteries-of-new-york.sh --- play.it-2.12.0/play.it-2/games/play-vampire-the-masquerade-coteries-of-new-york.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-vampire-the-masquerade-coteries-of-new-york.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,142 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine Le Gonidec +# Copyright (c) 2016-2020, Mopi +# 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. +### + +### +# Vampire: the Masquerade - Coteries of New York +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20201014.1 + +# Set game-specific variables + +GAME_ID='vampire-the-masquerade-coteries-of-new-york' +GAME_NAME='Vampire: the Masquerade - Coteries of New York' + +ARCHIVES_LIST=' +ARCHIVE_GOG_0' + +ARCHIVE_GOG_0='vampire_the_masquerade_coteries_of_new_york_1_0_7_40980.sh' +ARCHIVE_GOG_0_URL='https://www.gog.com/game/vampire_the_masquerade_coteries_of_new_york' +ARCHIVE_GOG_0_MD5='146113ea6b7295104413d8ce2b1fbf4e' +ARCHIVE_GOG_0_SIZE='3200000' +ARCHIVE_GOG_0_VERSION='1.0.7-gog40980' +ARCHIVE_GOG_0_TYPE='mojosetup' + +ARCHIVE_DOC_DATA_PATH='data/noarch/docs' +ARCHIVE_GAME_DATA_FILES='*' + +ARCHIVE_GAME_BIN_PATH='data/noarch/game' +ARCHIVE_GAME_BIN_FILES='VtM?Coteries?of?New?York.x86_64 VtM?Coteries?of?New?York_Data/MonoBleedingEdge/x86_64 VtM?Coteries?of?New?York_Data/Managed VtM?Coteries?of?New?York_Data/Plugins LinuxPlayer_s.debug UnityPlayer_s.debug UnityPlayer.so' + +ARCHIVE_GAME_DATA_PATH='data/noarch/game' +ARCHIVE_GAME_DATA_FILES='VtM?Coteries?of?New?York_Data' + +DATA_DIRS='./logs' + +APP_MAIN_TYPE='native' +APP_MAIN_PRERUN='# Work around Unity3D poor support for non-US locales +export LANG=C' +APP_MAIN_EXE='VtM Coteries of New York.x86_64' +APP_MAIN_ICON='VtM Coteries of New York_Data/Resources/UnityPlayer.png' +# Use a per-session dedicated file for logs +# shellcheck disable=SC2016 +APP_MAIN_OPTIONS='-logFile ./logs/$(date +%F-%R).log' + +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 glibc libstdc++" + +# Load common functions + +target_version='2.12' + +if [ -z "$PLAYIT_LIB2" ]; then + for path in \ + "$PWD" \ + "${XDG_DATA_HOME:="$HOME/.local/share"}/play.it" \ + '/usr/local/share/games/play.it' \ + '/usr/local/share/play.it' \ + '/usr/share/games/play.it' \ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +prepare_package_layout + +# Get icon + +PKG='PKG_DATA' +icons_get_from_package 'APP_MAIN' + +# Clean up temporary directories + +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Write launchers + +PKG='PKG_BIN' +launchers_write 'APP_MAIN' + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-vampire-the-masquerade-shadows-of-new-york.sh play.it-2.12.1/play.it-2/games/play-vampire-the-masquerade-shadows-of-new-york.sh --- play.it-2.12.0/play.it-2/games/play-vampire-the-masquerade-shadows-of-new-york.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-vampire-the-masquerade-shadows-of-new-york.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,143 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2016-2020, Mopi +# 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. +### + +### +# Vampire the Masquerade - Shadows of New York +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20201006.1 + +# Set game-specific variables + +GAME_ID='vampire-the-masquerade-shadows-of-new-york' +GAME_NAME='Vampire the Masquerade - Shadows of New York' + +ARCHIVES_LIST=' +ARCHIVE_GOG_0' + +ARCHIVE_GOG_0='vampire_the_masquerade_shadows_of_new_york_1_0_0_41075.sh' +ARCHIVE_GOG_0_URL='https://www.gog.com/game/vampire_the_masquerade_shadows_of_new_york' +ARCHIVE_GOG_0_MD5='e7880d6e417f81f47b079c9cdc4fb907' +ARCHIVE_GOG_0_SIZE='3300000' +ARCHIVE_GOG_0_VERSION='1.0.0-gog41075' +ARCHIVE_GOG_0_TYPE='mojosetup' + +ARCHIVE_DOC_DATA_PATH='data/noarch/docs' +ARCHIVE_GAME_DATA_FILES='*' + +ARCHIVE_GAME_BIN_PATH='data/noarch/game' +ARCHIVE_GAME_BIN_FILES='Vampire?the?Masquerade?-?Shadows?of?New?York.x86_64 Vampire?the?Masquerade?-?Shadows?of?New?York_Data/MonoBleedingEdge/x86_64 Vampire?the?Masquerade?-?Shadows?of?New?York_Data/Managed Vampire?the?Masquerade?-?Shadows?of?New?York_Data/Plugins LinuxPlayer_s.debug UnityPlayer_s.debug UnityPlayer.so' + +ARCHIVE_GAME_DATA_PATH='data/noarch/game' +ARCHIVE_GAME_DATA_FILES='Vampire?the?Masquerade?-?Shadows?of?New?York_Data' + +DATA_DIRS='./logs' + +APP_MAIN_TYPE='native' +APP_MAIN_PRERUN='# Work around Unity3D poor support for non-US locales +export LANG=C' +APP_MAIN_EXE='Vampire the Masquerade - Shadows of New York.x86_64' +APP_MAIN_ICON='Vampire the Masquerade - Shadows of New York_Data/Resources/UnityPlayer.png' +# Use a per-session dedicated file for logs +# shellcheck disable=SC2016 +APP_MAIN_OPTIONS='-logFile ./logs/$(date +%F-%R).log' + +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 glibc libstdc++" + +# Load common functions + +target_version='2.12' + +if [ -z "$PLAYIT_LIB2" ]; then + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +prepare_package_layout + +# Get icon + +PKG='PKG_DATA' +icons_get_from_package 'APP_MAIN' + +# Clean up temporary directories + +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Write launchers + +PKG='PKG_BIN' +launchers_write 'APP_MAIN' + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-warm.sh play.it-2.12.1/play.it-2/games/play-warm.sh --- play.it-2.12.0/play.it-2/games/play-warm.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-warm.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,149 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine "vv221/vv222" Le Gonidec +# Copyright (c) 2016-2020, Mopi +# 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. +### + +### +# Warm +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20200929.1 + +# Set game-specific variables + +GAME_ID='warm' +GAME_NAME='Warm' + +ARCHIVES_LIST=' +ARCHIVE_ITCH_0' + +ARCHIVE_ITCH_0='Warm-Full-pc.zip' +ARCHIVE_ITCH_0_URL='https://krispycat.itch.io/warm' +ARCHIVE_ITCH_0_MD5='55f19b7d105d1e929edfba0e5e853538' +ARCHIVE_ITCH_0_SIZE='670000' +ARCHIVE_ITCH_0_VERSION='1.02-itch' +ARCHIVE_ITCH_0_TYPE='zip' + +ARCHIVE_GAME_BIN32_PATH='Warm-Full-pc' +ARCHIVE_GAME_BIN32_FILES='lib/linux-i686 Warm.sh' + +ARCHIVE_GAME_BIN64_PATH='Warm-Full-pc' +ARCHIVE_GAME_BIN64_FILES='lib/linux-x86_64' + +ARCHIVE_GAME_DATA_PATH='Warm-Full-pc' +ARCHIVE_GAME_DATA_FILES='lib/pythonlib2.7 game Warm.py renpy' + +DATA_DIRS='game/saves' + +APP_MAIN_TYPE='native' +APP_MAIN_EXE='Warm.sh' +APP_MAIN_ICON='Warm-Full-pc/Warm.exe' + +PACKAGES_LIST='PKG_BIN32 PKG_BIN64 PKG_DATA' + +PKG_DATA_ID="${GAME_ID}-data" +PKG_DATA_DESCRIPTION='data' + +PKG_BIN32_ARCH='32' +PKG_BIN32_DEPS="$PKG_DATA_ID glibc libstdc++" + +PKG_BIN64_ARCH='64' +PKG_BIN64_DEPS="$PKG_BIN32_DEPS" + +# Load common functions + +target_version='2.12' + +if [ -z "$PLAYIT_LIB2" ]; then + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +prepare_package_layout + +# Copy launching script between the binaries packages + +LAUNCHER_SOURCE="${PKG_BIN32_PATH}${PATH_GAME}/$APP_MAIN_EXE" +LAUNCHER_DESTINATION="${PKG_BIN64_PATH}${PATH_GAME}/$APP_MAIN_EXE" +mkdir --parents "$(dirname "$LAUNCHER_DESTINATION")" +cp "$LAUNCHER_SOURCE" "$LAUNCHER_DESTINATION" + +# Get icon + +PKG='PKG_DATA' +icons_get_from_workdir 'APP_MAIN' + +# Clean up temporary directories + +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Write launchers + +for PKG in 'PKG_BIN32' 'PKG_BIN64'; do + launchers_write 'APP_MAIN' +done + +# Build package + +write_metadata +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-warsow.sh play.it-2.12.1/play.it-2/games/play-warsow.sh --- play.it-2.12.0/play.it-2/games/play-warsow.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-warsow.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -88,16 +88,25 @@ target_version='2.4' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-where-the-water-tastes-like-wine.sh play.it-2.12.1/play.it-2/games/play-where-the-water-tastes-like-wine.sh --- play.it-2.12.0/play.it-2/games/play-where-the-water-tastes-like-wine.sh 1970-01-01 00:00:00.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-where-the-water-tastes-like-wine.sh 2020-11-25 15:14:43.000000000 +0000 @@ -0,0 +1,149 @@ +#!/bin/sh +set -o errexit + +### +# Copyright (c) 2015-2020, Antoine Le Gonidec +# Copyright (c) 2016-2020, Mopi +# 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. +### + +### +# Where the Water Tastes Like Wine +# build native packages from the original installers +# send your bug reports to contact@dotslashplay.it +### + +script_version=20201019.1 + +# Set game-specific variables + +GAME_ID='where-the-water-tastes-like-wine' +GAME_NAME='Where the Water Tastes Like Wine' + +ARCHIVES_LIST=' +ARCHIVE_ITCH_0' + +ARCHIVE_ITCH_0='where-the-water-tastes-like-wine-linux.zip' +ARCHIVE_ITCH_0_URL='https://dimbulbgames.itch.io/where-the-water-tastes-like-wine' +ARCHIVE_ITCH_0_MD5='b7e3d981ff707f5687a79552514a49fe' +ARCHIVE_ITCH_0_SIZE='7000000' +ARCHIVE_ITCH_0_VERSION='1.0-itch1' + +ARCHIVE_GAME_BIN32_PATH='.' +ARCHIVE_GAME_BIN32_FILES='WTWTLW.x86 WTWTLW_Data/*/x86' + +ARCHIVE_GAME_BIN64_PATH='.' +ARCHIVE_GAME_BIN64_FILES='WTWTLW.x86_64 WTWTLW_Data/*/x86_64' + +ARCHIVE_GAME_DATA_PATH='.' +ARCHIVE_GAME_DATA_FILES='WTWTLW_Data' + +DATA_DIRS='./logs ./UserData' + +APP_MAIN_TYPE='native' +# shellcheck disable=SC2016 +APP_MAIN_PRERUN='export LANG=C' +APP_MAIN_EXE_BIN32='WTWTLW.x86' +APP_MAIN_EXE_BIN64='WTWTLW.x86_64' +# shellcheck disable=SC2016 +APP_MAIN_OPTIONS='-logFile ./logs/$(date +%F-%R).log' +APP_MAIN_ICON='WTWTLW_Data/Resources/UnityPlayer.png' + +PACKAGES_LIST='PKG_BIN32 PKG_BIN64 PKG_DATA' + +PKG_DATA_ID="${GAME_ID}-data" +PKG_DATA_DESCRIPTION='data' + +PKG_BIN32_ARCH='32' +PKG_BIN32_DEPS="$PKG_DATA_ID glibc libstdc++" + +PKG_BIN64_ARCH='64' +PKG_BIN64_DEPS="$PKG_BIN32_DEPS" + +# Load common functions + +target_version='2.12' + +if [ -z "$PLAYIT_LIB2" ]; then + for path in \ + "$PWD" \ + "${XDG_DATA_HOME:="$HOME/.local/share"}/play.it" \ + '/usr/local/share/games/play.it' \ + '/usr/local/share/play.it' \ + '/usr/share/games/play.it' \ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 +fi +# shellcheck source=play.it-2/lib/libplayit2.sh +. "$PLAYIT_LIB2" + +# Extract game data + +extract_data_from "$SOURCE_ARCHIVE" +set_standard_permissions "$PLAYIT_WORKDIR/gamedata" +prepare_package_layout + +# Get icon + +PKG='PKG_DATA' +icons_get_from_package 'APP_MAIN' + +# Clean up temporary files + +rm --recursive "$PLAYIT_WORKDIR/gamedata" + +# Write launchers + +for PKG in 'PKG_BIN32' 'PKG_BIN64'; do + launchers_write 'APP_MAIN' +done + +# Build package + +PKG='PKG_DATA' +icons_linking_postinst 'APP_MAIN' +write_metadata 'PKG_DATA' +write_metadata 'PKG_BIN32' 'PKG_BIN64' +build_pkg + +# Clean up + +rm --recursive "$PLAYIT_WORKDIR" + +# Print instructions + +print_instructions + +exit 0 diff -Nru play.it-2.12.0/play.it-2/games/play-whispering-willows.sh play.it-2.12.1/play.it-2/games/play-whispering-willows.sh --- play.it-2.12.0/play.it-2/games/play-whispering-willows.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-whispering-willows.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -88,16 +88,25 @@ target_version='2.3' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-windward.sh play.it-2.12.1/play.it-2/games/play-windward.sh --- play.it-2.12.0/play.it-2/games/play-windward.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-windward.sh 2020-11-25 15:14:43.000000000 +0000 @@ -34,7 +34,7 @@ # send your bug reports to vv221@dotslashplay.it ### -script_version=20180224.1 +script_version=20200918.1 # Set game-specific variables @@ -44,7 +44,6 @@ ARCHIVES_LIST='ARCHIVE_GOG ARCHIVE_GOG_OLD ARCHIVE_GOG_OLDER ARCHIVE_HUMBLE ARCHIVE_HUMBLE_OLD' ARCHIVE_GOG='gog_windward_2.36.0.40.sh' -ARCHIVE_GOG_URL='https://www.gog.com/game/windward' ARCHIVE_GOG_MD5='6afbdcfda32a6315139080822c30396a' ARCHIVE_GOG_SIZE='130000' ARCHIVE_GOG_VERSION='20170617.0-gog2.36.0.40' @@ -112,16 +111,25 @@ target_version='2.3' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/games/play-worms-armageddon.sh play.it-2.12.1/play.it-2/games/play-worms-armageddon.sh --- play.it-2.12.0/play.it-2/games/play-worms-armageddon.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/games/play-worms-armageddon.sh 2020-11-25 15:14:43.000000000 +0000 @@ -31,42 +31,63 @@ ### # Worms Armageddon # build native Linux packages from the original installers -# send your bug reports to vv221@dotslashplay.it +# send your bug reports to contact@dotslashplay.it ### -script_version=20180224.1 +script_version=20200929.3 # Set game-specific variables GAME_ID='worms-armageddon' GAME_NAME='Worms Armageddon' -ARCHIVES_LIST='ARCHIVE_GOG' +ARCHIVES_LIST=' +ARCHIVE_GOG_2 +ARCHIVE_GOG_1 +ARCHIVE_GOG_0' + +ARCHIVE_GOG_2='setup_worms_armageddon_gog-2_(40354).exe' +ARCHIVE_GOG_2_URL='https://www.gog.com/game/worms_armageddon' +ARCHIVE_GOG_2_MD5='db2087029ee8c069c9006ebeedc76bbf' +ARCHIVE_GOG_2_VERSION='3.8-gog40354' +ARCHIVE_GOG_2_SIZE='650000' + +ARCHIVE_GOG_1='setup_worms_armageddon_gog-7_(40119).exe' +ARCHIVE_GOG_1_MD5='8e904d462327917452a47572a38b772a' +ARCHIVE_GOG_1_VERSION='3.8-gog40119' +ARCHIVE_GOG_1_SIZE='660000' + +ARCHIVE_GOG_0='setup_worms_armageddon_2.0.0.2.exe' +ARCHIVE_GOG_0_MD5='7f0bb89729662ebe74b7c9c2cd97d1c8' +ARCHIVE_GOG_0_VERSION='3.7.2.1-gog2.0.0.2' +ARCHIVE_GOG_0_SIZE='570000' -ARCHIVE_GOG='setup_worms_armageddon_2.0.0.2.exe' -ARCHIVE_GOG_URL='https://www.gog.com/game/worms_armageddon' -ARCHIVE_GOG_MD5='7f0bb89729662ebe74b7c9c2cd97d1c8' -ARCHIVE_GOG_VERSION='3.7.2.1-gog2.0.0.2' -ARCHIVE_GOG_SIZE='570000' - -ARCHIVE_DOC_DATA_PATH='app' +ARCHIVE_DOC_DATA_PATH='.' ARCHIVE_DOC_DATA_FILES='./wa_manual.pdf ./worms?armageddon?update?documentation.rtf' -ARCHIVE_GAME_BIN_PATH='app' +ARCHIVE_GAME_BIN_PATH='.' ARCHIVE_GAME_BIN_FILES='./lfbmp10n.dll ./lfcmp10n.dll ./lflmb10n.dll ./lftga10n.dll ./ltfil10n.dll ./ltkrn10n.dll ./wa.exe user/bankeditor.exe ./steam_api.dll' -ARCHIVE_GAME_DATA_PATH='app' -ARCHIVE_GAME_DATA_FILES='./data ./fesfx ./graphics ./tweaks user/fanfare user/flags user/graves user/import user/names.wdb user/savedlevels user/schemes user/speech user/teams ./steam.dat' +ARCHIVE_GAME_DATA_PATH='.' +ARCHIVE_GAME_DATA_FILES='./data ./fesfx ./graphics ./tweaks user/fanfare user/flags user/graves user/import user/names.wdb user/savedlevels user/schemes user/speech user/teams' -ARCHIVE_GAME_DATA_SAVE_PATH='app/__support' +ARCHIVE_GAME_DATA_SAVE_PATH='./__support' ARCHIVE_GAME_DATA_SAVE_FILES='./save' +# Keep compatibility with old archives +ARCHIVE_DOC_DATA_PATH_GOG_0='app' +ARCHIVE_GAME_BIN_PATH_GOG_0='app' +ARCHIVE_GAME_DATA_PATH_GOG_0='app' +ARCHIVE_GAME_DATA_SAVE_PATH_GOG_0='app/__support' + DATA_DIRS='./save ./user' APP_MAIN_TYPE='wine' APP_MAIN_EXE='wa.exe' APP_MAIN_ICON='wa.exe' APP_MAIN_ICON_RES='16 32 48' +APP_MAIN_PRERUN='# Create required empty file prior to game run +touch steam.dat' PACKAGES_LIST='PKG_BIN PKG_DATA' @@ -81,16 +102,25 @@ target_version='2.3' if [ -z "$PLAYIT_LIB2" ]; then - [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" - if [ -e "$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" ]; then - PLAYIT_LIB2="$XDG_DATA_HOME/play.it/play.it-2/lib/libplayit2.sh" - elif [ -e './libplayit2.sh' ]; then - PLAYIT_LIB2='./libplayit2.sh' - else - printf '\n\033[1;31mError:\033[0m\n' - printf 'libplayit2.sh not found.\n' - exit 1 - fi + : "${XDG_DATA_HOME:="$HOME/.local/share"}" + for path in\ + "$PWD"\ + "$XDG_DATA_HOME/play.it"\ + '/usr/local/share/games/play.it'\ + '/usr/local/share/play.it'\ + '/usr/share/games/play.it'\ + '/usr/share/play.it' + do + if [ -e "$path/libplayit2.sh" ]; then + PLAYIT_LIB2="$path/libplayit2.sh" + break + fi + done +fi +if [ -z "$PLAYIT_LIB2" ]; then + printf '\n\033[1;31mError:\033[0m\n' + printf 'libplayit2.sh not found.\n' + exit 1 fi #shellcheck source=play.it-2/lib/libplayit2.sh . "$PLAYIT_LIB2" diff -Nru play.it-2.12.0/play.it-2/src/00_header.sh play.it-2.12.1/play.it-2/src/00_header.sh --- play.it-2.12.0/play.it-2/src/00_header.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/src/00_header.sh 2020-11-25 15:14:43.000000000 +0000 @@ -40,7 +40,7 @@ # send your bug reports to contact@dotslashplay.it ### -library_version=2.12.0 +library_version=2.12.1 # shellcheck disable=SC2034 -library_revision=20200808.1 +library_revision=20201125.1 diff -Nru play.it-2.12.0/play.it-2/src/20_dependencies.sh play.it-2.12.1/play.it-2/src/20_dependencies.sh --- play.it-2.12.0/play.it-2/src/20_dependencies.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/src/20_dependencies.sh 2020-11-25 15:14:43.000000000 +0000 @@ -53,6 +53,10 @@ # fakeroot doesn't work for me, only fakeroot-ng does SCRIPT_DEPS="$SCRIPT_DEPS fakeroot-ng ebuild" fi + if [ "$OPTION_PACKAGE" = 'arch' ]; then + # bsdtar and gzip are required for .MTREE + SCRIPT_DEPS="$SCRIPT_DEPS bsdtar gzip" + fi for dep in $SCRIPT_DEPS; do case $dep in ('7z') @@ -174,6 +178,9 @@ ('lha') provider='lhasa' ;; + ('icotool'|'wrestool') + provider='icoutils' + ;; (*) provider="$command" ;; diff -Nru play.it-2.12.0/play.it-2/src/30_archive-extraction.sh play.it-2.12.1/play.it-2/src/30_archive-extraction.sh --- play.it-2.12.0/play.it-2/src/30_archive-extraction.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/src/30_archive-extraction.sh 2020-11-25 15:14:43.000000000 +0000 @@ -66,21 +66,12 @@ tar --extract --file "$file" --directory "$destination" ;; ('zip') - archive_extract_with_unzip "$file" "$destination" + unzip -d "$destination" "$file" 1>/dev/null ;; ('zip_unclean'|'mojosetup_unzip') - local exitcode - exitcode=0 - # 2>/dev/null removes output from unzip -l about errors in the file - archive_extract_with_unzip "$file" "$destination" 2>/dev/null || exitcode=$? - case $exitcode in - (0|1|2) - # Extraction is a success, keep going - ;; - (*) - return $exitcode - ;; - esac + set +o errexit + unzip -d "$destination" "$file" 1>/dev/null 2>&1 + set -o errexit set_standard_permissions "$destination" ;; (*) @@ -156,79 +147,3 @@ innoextract $options --extract --output-dir "$destination" "$file" 2>/dev/null } -# extract data using unzip -# USAGE: archive_extract_with_unzip $archive $destination -archive_extract_with_unzip() { - local archive - local destination - local files_list - archive="$1" - destination="$2" - files_list="$(archive_get_files_to_extract "$archive" | sed --regexp-extended 'p;/^.+$/s|$|/*|')" - local status=0 - set -o noglob - unzip -l "$archive" $files_list >/dev/null || status="$?" # Make sure at least one glob matches - [ "$status" -eq 11 ] && return "$status" - set +o errexit - # shellcheck disable=SC2046 - ( - IFS=' -' - unzip -d "$destination" "$archive" $files_list 1>/dev/null 2>/dev/null # 2>/dev/null removes output about missing globs - ) - local status="$?" - set -o errexit - set +o noglob - [ "$status" -eq 0 ] || [ "$status" -eq 11 ] || return "$status" # 11 is when at least one glob didn't watch when not using -l -} - -# Outputs all files that need to be extracted -# USAGE: archive_get_files_to_extract -# CALLS: archive_concat_needed_files_with_path -archive_get_files_to_extract() { - # All files should be extracted for scripts targeting library version < 2.12 - if version_target_is_older_than '2.12'; then - return 0 - fi - - for package in $PACKAGES_LIST; do - PKG="${package#PKG_}" - archive_concat_needed_files_with_path "GAME_$PKG" "DOC_$PKG" - for i in $(seq 0 9); do - archive_concat_needed_files_with_path "GAME${i}_$PKG" "DOC${i}_$PKG" - done - done - # awk '!x[$0]++' removes duplicate lines, but without sorting (unlike sort --unique, which needs to wait for all the input first) - grep --fixed-strings 'icons_get_from_workdir' "$0" | grep --extended-regexp --only-matching 'APP_[_0-9A-Z]+' | awk '!x[$0]++' | while read -r app; do - use_archive_specific_value "${app}_ICONS_LIST" - local icons_list - icons_list="$(get_value "${app}_ICONS_LIST")" - [ -n "$icons_list" ] || icons_list="${app}_ICON" - for icon in $icons_list; do - use_archive_specific_value "$icon" - printf '%s\n' "$(get_value "$icon" | sed 's/[][\\?*]/\\&/g' | tr '\n' '?')" # Print glob escaped version - done - done - # shellcheck disable=2086 - printf '%s\n' $EXTRA_ARCHIVE_FILES -} - -# Adds path prefix for files in ARCHIVE_*_FILES -# USAGE: archive_concat_needed_files_with_path $specifier … -# CALLED BY: archive_get_files_to_extract -archive_concat_needed_files_with_path() { - for specifier in "$@"; do - use_archive_specific_value "ARCHIVE_${specifier}_FILES" - use_archive_specific_value "ARCHIVE_${specifier}_PATH" - set -o noglob - for file in $(get_value "ARCHIVE_${specifier}_FILES"); do - if [ "$(get_value "ARCHIVE_${specifier}_PATH")" != '.' ]; then - printf '%s\n' "$(get_value "ARCHIVE_${specifier}_PATH" | sed 's/[][\\?*]/\\&/g' | tr '\n' '?')/$file" # Print glob escaped version of the path with the file - else - printf '%s\n' "$file" - fi - done - set +o noglob - done -} - diff -Nru play.it-2.12.0/play.it-2/src/30_icons.sh play.it-2.12.1/play.it-2/src/30_icons.sh --- play.it-2.12.0/play.it-2/src/30_icons.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/src/30_icons.sh 2020-11-25 15:14:43.000000000 +0000 @@ -364,8 +364,10 @@ return 0 fi - mkdir --parents "$(dirname "$destination_directory")" - mv --no-target-directory "$source_directory" "$destination_directory" - rmdir --ignore-fail-on-non-empty --parents "$(dirname "$source_directory")" + # a basic `mv` call here would fail if the destination is not empty + mkdir --parents "$destination_directory" + cp --link --recursive "$source_directory"/* "$destination_directory" + rm --recursive "${source_directory:?}"/* + rmdir --ignore-fail-on-non-empty --parents "$source_directory" } diff -Nru play.it-2.12.0/play.it-2/src/30_launchers.sh play.it-2.12.1/play.it-2/src/30_launchers.sh --- play.it-2.12.0/play.it-2/src/30_launchers.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/src/30_launchers.sh 2020-11-25 15:14:43.000000000 +0000 @@ -517,6 +517,10 @@ ('/usr'|'/usr/local') exec_field="$application_id" ;; + (*' '*) + # enclose the path in single quotes if it includes spaces + exec_field="'$PATH_BIN/$application_id'" + ;; (*) exec_field="$PATH_BIN/$application_id" ;; diff -Nru play.it-2.12.0/play.it-2/src/30_packages_arch.sh play.it-2.12.1/play.it-2/src/30_packages_arch.sh --- play.it-2.12.0/play.it-2/src/30_packages_arch.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/src/30_packages_arch.sh 2020-11-25 15:14:43.000000000 +0000 @@ -105,6 +105,8 @@ compat_pkg_write_arch_prerm "$target" fi + # Creates .MTREE + package_archlinux_create_mtree "$pkg_path" } # set list or Arch Linux dependencies from generic names @@ -397,7 +399,7 @@ # CALLED BY: build_pkg pkg_build_arch() { local pkg_filename - pkg_filename="$OPTION_OUTPUT_DIR/$(basename "$1").pkg.tar" + pkg_filename=$(realpath "$OPTION_OUTPUT_DIR/$(basename "$1").pkg.tar") if [ -e "$pkg_filename" ] && [ $OVERWRITE_PACKAGES -ne 1 ]; then information_package_already_exists "$(basename "$pkg_filename")" @@ -429,6 +431,7 @@ pkg_filename="${pkg_filename}.gz" ;; ('xz') + export XZ_DEFAULTS="${XZ_DEFAULTS:=--threads=0}" tar_options="$tar_options --xz" pkg_filename="${pkg_filename}.xz" ;; @@ -453,7 +456,7 @@ ( cd "$1" local files - files='.PKGINFO *' + files='.MTREE .PKGINFO *' if [ -e '.INSTALL' ]; then files=".INSTALL $files" fi @@ -466,3 +469,33 @@ print_ok } +# creates .MTREE in package +# USAGE: package_archlinux_create_mtree $pkg_path +# RETURNS: nothing +package_archlinux_create_mtree() { + local pkg_path + pkg_path="$1" + + ( + cd "$pkg_path" + # shellcheck disable=SC2030 + export LANG=C + # shellcheck disable=SC2094 + find . -print0 | bsdtar \ + --create \ + --file - \ + --files-from - \ + --format=mtree \ + --no-recursion \ + --null \ + --options='!all,use-set,type,uid,gid,mode,time,size,md5,sha256,link' \ + --exclude .MTREE \ + | gzip \ + --force \ + --no-name \ + --to-stdout \ + > .MTREE + ) + + return 0 +} diff -Nru play.it-2.12.0/play.it-2/src/30_packages.sh play.it-2.12.1/play.it-2/src/30_packages.sh --- play.it-2.12.0/play.it-2/src/30_packages.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/src/30_packages.sh 2020-11-25 15:14:43.000000000 +0000 @@ -25,7 +25,7 @@ # Set package-specific variables set_architecture "$pkg" pkg_id="$(get_value "${pkg}_ID")" - pkg_maint="$(whoami)@$(hostname)" + pkg_maint="$(whoami)@$(cat /etc/hostname)" pkg_path="$(get_value "${pkg}_PATH")" if [ -z "$pkg_path" ]; then error_invalid_argument 'pkg' 'write_metadata' diff -Nru play.it-2.12.0/play.it-2/src/45_installation-instructions_deb.sh play.it-2.12.1/play.it-2/src/45_installation-instructions_deb.sh --- play.it-2.12.0/play.it-2/src/45_installation-instructions_deb.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/src/45_installation-instructions_deb.sh 2020-11-25 15:14:43.000000000 +0000 @@ -3,11 +3,18 @@ # CALLS: print_instructions_deb_apt print_instructions_deb_dpkg print_instructions_deb() { if command -v apt >/dev/null 2>&1; then - debian_version="$(apt --version 2>/dev/null | head --lines=1 | cut --delimiter=' ' --fields=2)" - debian_version_major="$(printf '%s' "$debian_version" | cut --delimiter='.' --fields='1')" - debian_version_minor="$(printf '%s' "$debian_version" | cut --delimiter='.' --fields='2')" - if [ $debian_version_major -ge 2 ] || \ - { [ $debian_version_major -eq 1 ] && [ ${debian_version_minor%~*} -ge 1 ] ; } + debian_version=$(LANG=C apt --version 2>/dev/null | \ + grep --extended-regexp --only-matching '[0-9]+(\.[0-9]+)+') + debian_version_major=$(printf '%s' "$debian_version" | \ + cut --delimiter='.' --fields=1) + debian_version_minor=$(printf '%s' "$debian_version" | \ + cut --delimiter='.' --fields=2) + if \ + [ $debian_version_major -ge 2 ] || \ + { + [ $debian_version_major -eq 1 ] && \ + [ ${debian_version_minor%~*} -ge 1 ] + } then print_instructions_deb_apt "$@" else diff -Nru play.it-2.12.0/play.it-2/src/80_messages.sh play.it-2.12.1/play.it-2/src/80_messages.sh --- play.it-2.12.0/play.it-2/src/80_messages.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/src/80_messages.sh 2020-11-25 15:14:43.000000000 +0000 @@ -8,6 +8,7 @@ # USAGE: print_error print_error() { local string + # shellcheck disable=SC2031 case "${LANG%_*}" in ('fr') string='Erreur :' @@ -24,6 +25,7 @@ # USAGE: print_warning print_warning() { local string + # shellcheck disable=SC2031 case "${LANG%_*}" in ('fr') string='Avertissement :' diff -Nru play.it-2.12.0/play.it-2/src/85_messages_errors.sh play.it-2.12.1/play.it-2/src/85_messages_errors.sh --- play.it-2.12.0/play.it-2/src/85_messages_errors.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/src/85_messages_errors.sh 2020-11-25 15:14:43.000000000 +0000 @@ -5,6 +5,7 @@ var="$1" value="$(get_value "$var")" func="$2" + # shellcheck disable=SC2031 case "${LANG%_*}" in ('fr') message='Valeur incorrecte pour %s appelée par %s : %s\n' @@ -23,6 +24,7 @@ error_missing_argument() { local message function function="$1" + # shellcheck disable=SC2031 case "${LANG%_*}" in ('fr') message='La fonction "%s" ne peut pas être appelée sans argument.\n' @@ -41,6 +43,7 @@ error_extra_arguments() { local message function function="$1" + # shellcheck disable=SC2031 case "${LANG%_*}" in ('fr') message='La fonction "%s" ne peut pas être appelée avec plus dʼun argument.\n' @@ -59,6 +62,7 @@ error_not_a_file() { local message param param="$1" + # shellcheck disable=SC2031 case "${LANG%_*}" in ('fr') message='"%s" nʼest pas un fichier valide.\n' @@ -77,6 +81,7 @@ error_unknown_application_type() { local message application_type application_type="$1" + # shellcheck disable=SC2031 case "${LANG%_*}" in ('fr') message='Le type dʼapplication "%s" est inconnu.\n' @@ -96,6 +101,7 @@ # USAGE: error_unknown_tar_implementation error_unknown_tar_implementation() { local message + # shellcheck disable=SC2031 case "${LANG%_*}" in ('fr') message='La version de tar présente sur ce système nʼest pas reconnue.\n' @@ -119,6 +125,7 @@ local message command_name provider command_name="$1" provider="$(dependency_provided_by "$command_name")" + # shellcheck disable=SC2031 case "${LANG%_*}" in ('fr') message='%s est introuvable. Installez %s avant de lancer ce script.\n' @@ -132,11 +139,35 @@ return 1 } +# display an error message if an icon dependency is missing +# USAGE: error_icon_dependency_not_found $command_name +# NEEDED VARS: (LANG) +# CALLED BY: check_deps +error_icon_dependency_not_found() { + local message command_name + command_name="$1" + set +o errexit + error_dependency_not_found "$command_name" + set -o errexit + # shellcheck disable=SC2031 + case "${LANG%_*}" in + ('fr') + message='Vous pouvez aussi utiliser --icons=no ou --icons=auto\n' + ;; + ('en'|*) + message='You can also use --icons=no or --icons=auto\n' + ;; + esac + printf "$message" + return 1 +} + # display an error when trying to extract an archive but no extractor is present # USAGE: error_archive_no_extractor_found $archive_type error_archive_no_extractor_found() { local message archive_type archive_type="$1" + # shellcheck disable=SC2031 case "${LANG%_*}" in ('fr') message='Ce script a essayé dʼextraire le contenu dʼune archive de type "%s", mais aucun outil approprié nʼa été trouvé.\n' @@ -158,6 +189,7 @@ error_launcher_missing_binary() { local binary message binary="$1" + # shellcheck disable=SC2031 case "${LANG%_*}" in ('fr') message='Le fichier suivant est introuvable, mais la création dʼun lanceur pour celui-ci a été demandée : %s\n' @@ -177,6 +209,7 @@ # USAGE: error_option_invalid $option_name $option_value error_option_invalid() { local message option_name option_value + # shellcheck disable=SC2031 case "${LANG%_*}" in ('fr') message='%s nʼest pas une valeur valide pour --%s.\n' @@ -197,6 +230,7 @@ # USAGE: error_archive_not_found $archive[…] error_archive_not_found() { local message + # shellcheck disable=SC2031 case "${LANG%_*}" in ('fr') if [ $# -eq 1 ]; then @@ -224,6 +258,7 @@ error_archive_type_not_set() { local message archive archive="$1" + # shellcheck disable=SC2031 case "${LANG%_*}" in ('fr') message='ARCHIVE_TYPE nʼest pas défini pour %s et nʼa pas pu être détecté automatiquement.\n' @@ -242,6 +277,7 @@ error_hashsum_mismatch() { local message file file=$(basename "$1") + # shellcheck disable=SC2031 case "${LANG%_*}" in ('fr') message='Somme de contrôle incohérente. %s nʼest pas le fichier attendu.\n' @@ -262,6 +298,7 @@ error_architecture_not_supported() { local message architecture architecture="$1" + # shellcheck disable=SC2031 case "${LANG%_*}" in ('fr') message='Lʼarchitecture demandée nʼest pas gérée : %s\n' @@ -281,6 +318,7 @@ local message function variable function="$1" variable="$2" + # shellcheck disable=SC2031 case "${LANG%_*}" in ('fr') message='La fonction "%s" ne peut pas être appelée lorsque "%s" nʼa pas de valeur définie.\n' @@ -299,6 +337,7 @@ # USAGE: error_not_enough_free_space $directory[…] error_not_enough_free_space() { local message directory + # shellcheck disable=SC2031 case "${LANG%_*}" in ('fr') message='Il nʼy a pas assez dʼespace libre dans les différents répertoires testés :\n' @@ -320,6 +359,7 @@ error_innoextract_version_too_old() { local message archive archive="$1" + # shellcheck disable=SC2031 case "${LANG%_*}" in ('fr') message='La version de innoextract disponible sur ce système est trop ancienne pour extraire les données de lʼarchive suivante : %s\n' @@ -338,6 +378,7 @@ error_icon_file_not_found() { local message file file="$1" + # shellcheck disable=SC2031 case "${LANG%_*}" in ('fr') message='Le fichier dʼicône suivant est introuvable : %s\n' @@ -358,6 +399,7 @@ error_option_unknown() { local message option_name option_name="$1" + # shellcheck disable=SC2031 case "${LANG%_*}" in ('fr') message='Option inconnue : %s\n' @@ -377,6 +419,7 @@ local message compression_method package_format compression_method="$1" package_format="$2" + # shellcheck disable=SC2031 case "${LANG%_*}" in ('fr') message='La méthode de compression "%s" nʼest pas compatible avec le format de paquets "%s".\n' @@ -395,6 +438,7 @@ error_not_a_directory() { local message path path="$1" + # shellcheck disable=SC2031 case "${LANG%_*}" in ('fr') message='"%s" nʼest pas un répertoire.\n' @@ -413,6 +457,7 @@ error_not_writable() { local message path path="$1" + # shellcheck disable=SC2031 case "${LANG%_*}" in ('fr') message='"%s" nʼest pas accessible en écriture.\n' @@ -432,6 +477,7 @@ local message function string function="$1" string="$2" + # shellcheck disable=SC2031 case "${LANG%_*}" in ('fr') message='Lʼargument "%s" fourni à la fonction "%s" ne doit pas être vide.\n' @@ -453,6 +499,7 @@ local message function command function="$1" command="$2" + # shellcheck disable=SC2031 case "${LANG%_*}" in ('fr') message='La commande "%s" nʼest pas disponible, mais elle est requise par la fonction "%s".\n' @@ -473,6 +520,7 @@ # CALLS: print_error error_missing_target_version() { local message + # shellcheck disable=SC2031 case "${LANG%_*}" in ('fr') message='Ce script ne donne aucune indication sur les versions de la bibliothèque ./play.it avec lesquelles il est compatible.\n' @@ -493,6 +541,7 @@ # CALLS: print_error error_incompatible_versions() { local message + # shellcheck disable=SC2031 case "${LANG%_*}" in ('fr') message='Ce script nʼest pas compatible avec la version fournie de la bibliothèque ./play.it fournie.\n' @@ -511,33 +560,12 @@ return 1 } -# display an error message if an icon dependency is missing -# USAGE: error_icon_dependency_not_found $dependency -# NEEDED VARS: (LANG) -# CALLED BY: check_deps -error_icon_dependency_not_found() { - local message dependency - dependency="$1" - case "${LANG%_*}" in - ('fr') - message='%s est introuvable. Installez-le avant de lancer ce script.\n' - message="$message"'Vous pouvez aussi utiliser --icons=no ou --icons=auto\n' - ;; - ('en'|*) - message='%s not found. Install it before running this script.\n' - message="$message"'You can also use --icons=no or --icons=auto\n' - ;; - esac - print_error - printf "$message" "$dependency" - return 1 -} - # display an error when no game script has been found for a given archive # USAGE: error_no_script_found_for_archive $archive error_no_script_found_for_archive() { local message archive archive="$1" + # shellcheck disable=SC2031 case "${LANG%_*}" in ('fr') message='Impossible de trouver un script pour le fichier %s\n' diff -Nru play.it-2.12.0/play.it-2/src/85_messages_help.sh play.it-2.12.1/play.it-2/src/85_messages_help.sh --- play.it-2.12.0/play.it-2/src/85_messages_help.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/src/85_messages_help.sh 2020-11-25 15:14:43.000000000 +0000 @@ -5,6 +5,7 @@ script_name=$(basename "$0") # print general usage instructions + # shellcheck disable=SC2031 case "${LANG%_*}" in ('fr') if [ "$script_name" = 'play.it' ]; then @@ -44,6 +45,7 @@ # print list of supported archives printf 'ARCHIVE\n\n' archives_get_list + # shellcheck disable=SC2031 case "${LANG%_*}" in ('fr') if [ -n "${ARCHIVES_LIST##* *}" ]; then @@ -70,6 +72,7 @@ # USAGE: help_architecture help_architecture() { local message + # shellcheck disable=SC2031 case "${LANG%_*}" in ('fr') message='\tChoix de lʼarchitecture à construire\n\n' @@ -96,6 +99,7 @@ # USAGE: help_checksum help_checksum() { local message + # shellcheck disable=SC2031 case "${LANG%_*}" in ('fr') message='\tChoix de la méthode de vérification dʼintégrité de lʼarchive\n\n' @@ -118,6 +122,7 @@ # CALLED BY: help help_compression() { local message + # shellcheck disable=SC2031 case "${LANG%_*}" in ('fr') message='\tChoix de la méthode de compression des paquets générés\n\n' @@ -144,6 +149,7 @@ # USAGE: help_prefix help_prefix() { local message + # shellcheck disable=SC2031 case "${LANG%_*}" in ('fr') message='\tChoix du chemin dʼinstallation du jeu\n\n' @@ -164,6 +170,7 @@ # USAGE: help_package help_package() { local message + # shellcheck disable=SC2031 case "${LANG%_*}" in ('fr') message='\tChoix du type de paquet à construire\n\n' @@ -188,6 +195,7 @@ # USAGE: help_dryrun help_dryrun() { local message + # shellcheck disable=SC2031 case "${LANG%_*}" in ('fr') message='\tEffectue des tests de syntaxe mais nʼextrait pas de données et ne construit pas de paquets.\n\n' @@ -205,6 +213,7 @@ # USAGE: help_skipfreespacecheck help_skipfreespacecheck() { local message + # shellcheck disable=SC2031 case "${LANG%_*}" in ('fr') message='\tNe teste pas lʼespace libre disponible. Les répertoires temporaires seront créés sous $TMPDIR, ou /tmp par défaut.\n\n' @@ -222,6 +231,7 @@ # USAGE: help_icons help_icons() { local message + # shellcheck disable=SC2031 case "${LANG%_*}" in ('fr') message='\tInclure ou non les icônes dans les paquets\n\n' @@ -246,6 +256,7 @@ # USAGE: help_overwrite help_overwrite() { local message + # shellcheck disable=SC2031 case "${LANG%_*}" in ('fr') message='\tRemplace les paquets si ils existent déjà.\n\n' @@ -263,6 +274,7 @@ # USAGE: help_output_dir help_output_dir() { local message + # shellcheck disable=SC2031 case "${LANG%_*}" in ('fr') message='\tDéfinit le répertoire de destination des paquets générés.\n\n' diff -Nru play.it-2.12.0/play.it-2/src/85_messages_informations.sh play.it-2.12.1/play.it-2/src/85_messages_informations.sh --- play.it-2.12.0/play.it-2/src/85_messages_informations.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/src/85_messages_informations.sh 2020-11-25 15:14:43.000000000 +0000 @@ -19,6 +19,7 @@ information_file_in_use() { local message file file="$1" + # shellcheck disable=SC2031 case "${LANG%_*}" in ('fr') message='Utilisation de %s\n' @@ -36,6 +37,7 @@ information_package_already_exists() { local message file file="$1" + # shellcheck disable=SC2031 case "${LANG%_*}" in ('fr') message='%s existe déjà.\n' @@ -53,6 +55,7 @@ information_file_integrity_check() { local message file file=$(basename "$1") + # shellcheck disable=SC2031 case "${LANG%_*}" in ('fr') message='Contrôle de lʼintégrité de %s' @@ -70,6 +73,7 @@ information_archive_data_extraction() { local message file file="$1" + # shellcheck disable=SC2031 case "${LANG%_*}" in ('fr') message='Extraction des données de %s' @@ -87,6 +91,7 @@ information_package_building() { local message file file="$1" + # shellcheck disable=SC2031 case "${LANG%_*}" in ('fr') message='Construction de %s' @@ -104,6 +109,7 @@ information_required_gentoo_overlays() { local message overlays overlays="$1" + # shellcheck disable=SC2031 case "${LANG%_*}" in ('fr') message='\nVous pouvez avoir besoin des overlays suivants pour installer ces paquets : %s\n' @@ -121,6 +127,7 @@ information_installation_instructions_common() { local message game_name game_name="$1" + # shellcheck disable=SC2031 case "${LANG%_*}" in ('fr') message='\nInstallez "%s" en lançant la série de commandes suivantes en root :\n' @@ -137,6 +144,7 @@ information_installation_instructions_variant() { local message variant variant="$1" + # shellcheck disable=SC2031 case "${LANG%_*}" in ('fr') message='\nversion %s :\n' @@ -153,6 +161,7 @@ # USAGE: information_installation_instructions_gentoo_comment information_installation_instructions_gentoo_comment() { local message + # shellcheck disable=SC2031 case "${LANG%_*}" in ('fr') message='ou mettez les paquets dans un PKGDIR (dans un dossier nommé games-playit) et emergez-les' @@ -170,6 +179,7 @@ info_archive_integrity_check() { local file message file=$(basename "$1") + # shellcheck disable=SC2031 case "${LANG%_*}" in ('fr') message='Contrôle de lʼintégrité de %s' @@ -187,6 +197,7 @@ info_archive_hash_computation() { local file message file=$(basename "$1") + # shellcheck disable=SC2031 case "${LANG%_*}" in ('fr') message='Calcul de la somme de contrôle de %s' diff -Nru play.it-2.12.0/play.it-2/src/85_messages_warnings.sh play.it-2.12.1/play.it-2/src/85_messages_warnings.sh --- play.it-2.12.0/play.it-2/src/85_messages_warnings.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/src/85_messages_warnings.sh 2020-11-25 15:14:43.000000000 +0000 @@ -4,6 +4,7 @@ local message function package function="$1" package="$2" + # shellcheck disable=SC2031 case "${LANG%_*}" in ('fr') message='La valeur de PKG fournie à %s ne fait pas partie de la liste de paquets à construire : %s\n' @@ -22,6 +23,7 @@ warning_architecture_not_available() { local message architecture architecture="$1" + # shellcheck disable=SC2031 case "${LANG%_*}" in ('fr') message='Lʼarchitecture demandée nʼest pas disponible : %s\n' @@ -40,6 +42,7 @@ warning_option_not_supported() { local message option option="$1" + # shellcheck disable=SC2031 case "${LANG%_*}" in ('fr') message='Lʼoption %s nʼest pas gérée par ce script.\n' @@ -58,6 +61,7 @@ warning_package_format_guessing_failed() { local message fallback_value fallback_value="$1" + # shellcheck disable=SC2031 case "${LANG%_*}" in ('fr') message='Lʼauto-détection du format de paquet le plus adapté a échoué.\n' @@ -80,6 +84,7 @@ warning_icon_dependency_not_found() { local message dependency dependency="$1" + # shellcheck disable=SC2031 case "${LANG%_*}" in ('fr') message='%s est introuvable. Installez-le pour inclure les icônes.\n' @@ -105,6 +110,7 @@ lib="$1" target_system="$2" architecture="$3" + # shellcheck disable=SC2031 case "${LANG%_*}" in ('fr') message='La bibliothèque %s nʼest pas disponible pour %s (architecture %s).\n' diff -Nru play.it-2.12.0/play.it-2/src/99_init.sh play.it-2.12.1/play.it-2/src/99_init.sh --- play.it-2.12.0/play.it-2/src/99_init.sh 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/play.it-2/src/99_init.sh 2020-11-25 15:14:43.000000000 +0000 @@ -6,6 +6,18 @@ # Set input field separator to default value (space, tab, newline) unset IFS + # Unset variables that we do not want to import from the user environment + + unset OPTION_ARCHITECTURE + unset OPTION_CHECKSUM + unset OPTION_COMPRESSION + unset OPTION_PREFIX + unset OPTION_PACKAGE + unset SOURCE_ARCHIVE + unset PLAYIT_WORKDIR + unset winecfg_desktop + unset winecfg_launcher + # Set URLs for error messages PLAYIT_GAMES_BUG_TRACKER_URL='https://forge.dotslashplay.it/play.it/games/issues' @@ -65,17 +77,9 @@ DEFAULT_OPTION_ICONS='yes' # shellcheck disable=SC2034 DEFAULT_OPTION_OUTPUT_DIR="$PWD" - unset winecfg_desktop - unset winecfg_launcher # Parse arguments given to the script - unset OPTION_ARCHITECTURE - unset OPTION_CHECKSUM - unset OPTION_COMPRESSION - unset OPTION_PREFIX - unset OPTION_PACKAGE - unset SOURCE_ARCHIVE DRY_RUN='0' NO_FREE_SPACE_CHECK='0' SKIP_ICONS=0 diff -Nru play.it-2.12.0/README.md play.it-2.12.1/README.md --- play.it-2.12.0/README.md 2020-08-08 14:24:12.000000000 +0000 +++ play.it-2.12.1/README.md 2020-11-25 15:14:43.000000000 +0000 @@ -45,7 +45,7 @@ #### Latest stable version ``` -git clone --branch 2.11.4 --depth 1 https://forge.dotslashplay.it/play.it/scripts.git play.it.git +git clone --branch 2.12.0 --depth 1 https://forge.dotslashplay.it/play.it/scripts.git play.it.git cd play.it.git make make install