Tags give the ability to mark specific points in history as being important
-
2.35.1
6fde71af · ·2.35.1 bugfix release * Fix prefix update from persistent files. * Fix creation of the library compatibility link. * Fix identification of the application using a given icon. * Fix support for context-specific applications lists when generating launchers. * Ensure correct permissions on icons, despite ImageMagick messing them up. * Rework game script identification by hash to rely on --list-archives, fixing the identification of some archives with multiple valid MD5 hashes. * Gentoo: Fix output path for generated packages. * Gentoo: Update packages installation instructions. * Gentoo: Show a message for each package being built. * Gentoo: Fix generation of packages compressed with xz. * Gentoo: Generate packages in a "games-playit" sub-directory. * Unity3D: Do not try to apply Linux workarounds to Windows games. * Unity3D: Prevent inclusion of binaries/libraries for a wrong architecture. * WINE: Improve support for custom path to wine command. * WINE: Print an explicit error when trying to write a launcher for a package with no architecture set.
-
2.35.0
09621ced · ·2.35.0 feature release Deprecation notices: * Game scripts targeting a compatibility level ≥ 2.35 should no longer use APP_xxx_PREFIX_TYPE as it conflicts with the improved implicit applications list, cf. "Launchers" below. The variable APPLICATIONS_PREFIX_TYPE should be used instead. * Drop multiple obsolete compatibility wrappers: - build_pkg - dependencies_list_native_libraries - icons_inclusion - launcher_prefix_symlinks_build - launchers_write - prefix_generate_links_farm - write_metadata * Drop legacy variable PRELOAD_HACKS_LIST. This preload hack system should be replaced with the one relying on LD_PRELOAD_SOURCE, introduced with ./play.it 2.33.0. * Drop legacy variable target_version. The variable PLAYIT_COMPATIBILITY_LEVEL, introduced with ./play.it 2.26, must be used instead. * Drop legacy variable PKG. The package context should be set with set_current_package, introduced with ./play.it 2.27. * Drop legacy variable ARCHIVE_xxx. It should be replaced with ARCHIVE_xxx_NAME or ARCHIVE_xxx_PATH, introduced with ./play.it 2.26. * Drop legacy variable SOURCE_ARCHIVE. Calls to `archive_extraction 'SOURCE_ARCHIVE'` should be replaced with archive_extraction_default, introduced with ./play.it 2.26. * Game scripts relying on tolower or toupper must set an explicit requirement on convmv, through REQUIREMENTS_LIST. * Unreal Engine 4 games (WINE only): vcrun2019 is no longer installed by default with compatibility levels ≥ 2.35. New install path for ./play.it: * The library default install path is now ${prefix}/lib/play.it/libplayit.sh.2 (with ${prefix} defaulting to /usr for install as root, or ${HOME}/.local otherwise) * A compatibility link is installed at ${prefix}/share/play.it/libplayit2.sh * No compatibility link is installed at ${prefix}/share/games/play.it/libplayit2.sh * The "play.it" command is installed in ${prefix}/bin instead of ${prefix}/games Options: * Library revision is appended to --version output. * New command line option --list-archives Called from a game script, it lists the archives supported by that script. Called from the play.it wrapper, it lists the archives supported by all available game scripts on the system. Example output: $ ./play-alpha-centauri.sh --list-archives 6c9bd7e1cf88fdbfa0e75f694bf8b0e5 | setup_sid_meiers_alpha_centauri_2.0.2.23.exe d401431ff9c1c7526c3104194409bd6e | setup_sid_meiers_alpha_centauri_planetary_pack_1.1_pracx_ddraw_(77244).exe Archives: * New function: archive_url - Get the URL to the download page for a given archive. USAGE: archive_url $archive * New function: path_archive_contents - Print full path to extracted archive content. A content identifier can be passed as a single optional argument, then the path leading to that content is printed. Otherwise the default content path is printed. USAGE: path_archive_contents [content_id] * New variables for the archive passed on the command line: - PLAYIT_BASE_ARCHIVE_NAME - PLAYIT_BASE_ARCHIVE_PATH More globally, the SOURCE_ARCHIVE identifier is dropped in favour of PLAYIT_BASE_ARCHIVE. Game scripts are not expected to rely on PLAYIT_BASE_ARCHIVE anyway, they should use current_archive instead. * When extracting files from InnoSetup installers, they are no longer implicitly converted to lower case. The conversion to lower case still happens for compatibility level ≤ 2.34, to prevent breakages for game scripts relying on this implicit conversion. Icons: * Do not enforce a .exe extension on icon containers handled by wrestool. * Ensure full support for package-specific CONTENT_PATH_DEFAULT values. Such values are uncommon, but at least Divinity: Original Sin 2 relies on these. * Mono games: Use the game binary as the default icon source. Launchers: * New tweak: launcher_tweak_sdl_force_x11 - Force use of SDL x11 video backend. This should be called in pre-run actions for games not working with SDL wayland backend. USAGE: launcher_tweak_sdl_force_x11 * Improve the implicit applications list by detecting identifiers with multiple underscores. * Paths diversion to persistent storage from the volatile prefix is reworked, leading to less dead code in generated launchers. * Visionaire games: Prevent crashes of the shipped SDL library. * Visionaire games: Only set dependencies on native libraries for native games. Packages: * Implicitly set expansion packages dependency on the base game. The following variables no longer need to be explicitly set: - PKG_xxx_DEPENDENCIES_SIBLINGS - PKG_PARENT_ID * WINE games: Dependencies on architecture-specific packages are improved, in a way that should make it easier to install i386 games on an amd64 host. -
2.34.2
4ec6054f · ·2.34.2 bugfix release * Fix WINEPREFIX initialisation in corner cases. * Fix handling of optional archives with multiple valid MD5 hashes. * Prevent too broad fallback values for localisation packages. * Improve errors handling when computing the path to a game binary.
-
2.34.1
005202dc · ·2.34.1 bugfix release * Fix ./play.it uninstallation if shell completions were not installed. * Improve zsh completion. * DOSBox: Fix deprecation warnings related to disk images. * DOSBox: Fix fetching image type from legacy variable. * Debian: Fix dependencies on Mono libraries. * Web games: Fix initial paths setting. * Web games: Prevent Firefox extensions from loading in game windows. * Web games: Drop calls to retired functions: - application_exe_escaped - launcher_prefix_symlinks_functions
-
2.34.0
332149d9 · ·2.34.0 feature release Deprecation notices: * --package egentoo is no longer supported. See "New .gpkg.tar package format for Gentoo" for information about the supported --package gentoo option. * --package gentoo + --compression auto can no longer be used together. The new default for --package gentoo is --compression none. * The legacy dependency system relying on PKG_xxx_DEPS variables can now only be used to set dependencies on sibling packages. The following dependencies variables should be used instead of PKG_xxx_DEPS: - PKG_xxx_DEPENDENCIES_LIBRARIES, to list native libraries (./play.it ≥ 2.18) - PKG_xxx_DEPENDENCIES_MONO_LIBRARIES, to list Mono libraries (./play.it ≥ 2.21) - PKG_xxx_DEPENDENCIES_GSTREAMER_PLUGINS, to list GStreamer decoders (./play.it ≥ 2.23) - PKG_xxx_DEPENDENCIES_COMMANDS, to list commands (./play.it ≥ 2.25) - PKG_xxx_DEPENDENCIES_SIBLINGS, to list sibling packages (./play.it ≥ 2.30) * Support for legacy APP_REGEDIT variable is dropped. WINE_REGISTRY_INIT, introduced with ./play.it 2.33, should be used instead. New .gpkg.tar package format for Gentoo: * Generation of packages using ebuild is replaced with .gpkg.tar packages, relying only on coreutils, tar and compressors. * Packages for Gentoo can now be generated from systems not providing ebuild. Improved support for Web games: * Web games are no longer run using the shipped Google Chrome build, but with a local Web server (using the server built into Python) and Firefox to provide the graphical interface. Improved support for Unreal Engine 3 games: * Inputs related problems are avoided: - ignored keyboard inputs - broken mouse camera control Improved support for GameMaker games: * A crash on Mesa is avoided. * Broken support for non-US locales is worked around. * The following variables can be omitted: - APPLICATIONS_LIST - APP_xxx_EXE - APP_xxx_ICON - CONTENT_GAME_BIN_FILES - CONTENT_GAME_DATA_FILES - PACKAGES_LIST - PKG_BIN_DEPENDENCIES_SIBLINGS - PKG_BIN_DEPENDENCIES_LIBRARIES - PKG_DATA_ID - PKG_DATA_DESCRIPTION Archives with multiple valid MD5 hashes: * ARCHIVE_xxx_MD5 is expanded to support multiple values. Multiple valid values should be separated by line breaks, empty lines are ignored. Here is an example usage: ARCHIVE_BASE_2_NAME='setup_jazz_jackrabbit_2_1.24hf_(16886).exe' ARCHIVE_BASE_2_MD5=' 25a730c0813eb006555e6bbaf9613487 45be80bad040ea821bc6096abe6f3196 48a48258ed60b24068cbbb2f110b049b' Improvements to menu entries for desktop environments: * Support is added for SVG icons. * The value set through APP_xxx_CAT is checked against a set list of valid values, and a warning is triggered if an unknown value has been set. Improvements to WINE registry support: * WINE_REGISTRY_INIT now has support for contextual values (package-specific or archive-specific). * Only the key name is used when generating a regedit dump. This should avoid problems with dump paths going over the length limit for regedit. Old dumps are not automatically migrated to the new path. This can be done manually by running the following commands: DUMPS_PATH=~/.local/share/games/${game_name}/wine/regedit/ find $DUMPS_PATH -name \*.reg -exec mv --target-directory=$DUMPS_PATH {} + find $DUMPS_PATH -type d -empty -delete Rework of package dependencies listing: * This update reduces the difference between distinct dependencies listing systems (commands, GStreamer decoders, Mono libraries, native libraries, sibling packages) as well as between distinct target package formats (Arch Linux, Debian, Gentoo). -
2.33.4
b2a54f7e · ·2.33.4 bugfix release * Fix package context setting from several functions: - icons_inclusion_single_application - content_inclusion * Debian: Fix dependency on libQt5Core.so.5 / libQt5Gui.so.5.
-
2.33.3
4883b477 · ·2.33.3 bugfix release * Drop obsolete function application_exe_escaped. * Reduce code duplication when fetching the type of the default application. * Remove shebang from fish completion file. * Fix config file path in manpage and zsh-completion. * Add --list-packages option to zsh completion. * Add support for multiple Qt 5 native libraries: - libQt5Core.so.5 - libQt5Gui.so.5 - libQt5Widgets.so.5
-
2.33.2
e522abc9 · ·2.33.2 bugfix release * Include shell completion files in the release tarball. * Improve current system automatic identification. * Only try to identify the current system if a default package format is not already set. * Visionaire games: Add explicit dependency on SDL2. * AppImage archives: Add missing early requirements check. * Arch Linux: Fix generation of WINE prefixes. * Debian: Prevent a leak of forced gzip compression when going over .deb size limit. * Debian: Display an explicit error when dpkg-deb version can not be found.
-
2.33.1
0a07adb8 · ·2.33.1 bugfix release * Prevent default values for LD_PRELOAD_SOURCE from overriding maintainer-set ones. * Add support for completion with some interactive shells: - fish - zsh * DOSBox games: Fix detection of MS-DOS binaries through file/libmagic. * UNity3D games: Improve error message when no binary is found. * WINE games: Fix inclusion of the winetricks wrapper when using a non-default Direct3D renderer. * WINE games: Prevent the creation of an empty registry-scripts directory.
-
2.33.0
3512cf1c · ·2.33.0 feature release Deprecation notices: * --package egentoo setting is deprecated, --package gentoo should be used instead. * Support for SCRIPT_DEPS and check_deps is dropped, REQUIREMENTS_LIST and requirements_check, introduced with ./play.it 2.31, must be used instead. * Support for ARCHIVE global variable is dropped, set_current_archive, introduced with ./play.it 2.27, must be used instead. * The following variables are no longer exposed from generated launchers: - APP_EXE - SCUMMVM_ID * The following native libraries are no longer provided by current distributions, and can no longer be set as package dependencies: - libboost_locale.so.1.74.0 - libminiupnpc.so.17 * The previous system for LD_PRELOAD shim support is deprecated, the following variables should no longer be used from game scripts: - PRELOAD_HACKS_LIST - HACK_xxx_NAME - HACK_xxx_DESCRIPTION - HACK_xxx_PACKAGE - HACK_xxx_SOURCE See "New system for LD_PRELOAD hacks" below for details. * The following variables used to set a disk image loaded by DOSBox are deprecated: - GAME_IMAGE - GAME_IMAGE_TYPE See "Reworked DOSBox disk images support" below for details. * The following functions are deprecated: - prefix_generate_links_farm - launcher_prefix_symlinks_build See "Launchers clean-up" below for details. New system for LD_PRELOAD hacks: * A new single variable LD_PRELOAD_SOURCE is exposed to game scripts, to set a C snippet that should be built into a .so loaded through LD_PRELOAD. Reworked DOSBox disk images support: * The path to a DOSBox disk image should be set with DOSBOX_DISK_IMAGE_PATH, a path relative to the game root. * The type of a DOSBox disk image should be set with DOSBOX_DISK_IMAGE_TYPE, supported types are "iso" and "cdrom". If omitted it defaults to "iso". Launchers clean-up: * The launcher snippet creating a symlinks farm prefix is now printed using a single function: prefix_symlinks_generate This function replaces both previous functions prefix_generate_links_farm and launcher_prefix_symlinks_build. Improved support for Adventure Game Studio games: * An Adventure Game Studio game is identified by the AGS_NAME variable being set. It should be set to the ScummVM identifier, excluding the engine prefix. * The following variables can be omitted from game scripts for Adventure Game Studio games: - APP_MAIN_SCUMMID - CONTENT_GAME_MAIN_FILES Archive selection improvements: * Ensure that archive_initialize_optional checks all candidates if required, instead of stopping at the first one with the expected name. * Initialising an archive through archive_initialize_required / archive_initialize_optional sets the version string on the new archive. Expanded context support: * Support for contextual values (archive-specific or package-specific) is added for the following variables: - APP_xxx_DOSBOX_PRERUN - APP_xxx_DOSBOX_POSTRUN - REQUIREMENTS_LIST - WINE_WINEPREFIX_TWEAKS Package properties fallback values: * Fallback values are supported for some package properties: - PKG_xxx_ID - PKG_xxx_DESCRIPTION - PKG_xxx_PROVIDES - PKG_xxx_DEPENDENCIES_SIBLINGS - PKG_xxx_DEPENDENCIES_LIBRARIES * If a value is not set for one of the following common package identifiers, a fallback value can used instead if it is set: current package → fallback package PKG_BIN64 / PKG_BIN32 → PKG_BIN PKG_LIBS64 / PKG_LIBS32 → PKG_LIBS PKG_L10N_xxx → PKG_L10N Improvements specific to WINE games: * Improve the ability to set custom WINEPREFIX actions from game scripts, by relying on a new function exposed to game scripts: wineprefix_init_custom By default this function does nothing, but if overridden from a game script its output is included in the list of actions to run on WINEPREFIX initialisation. * A variable WINE_REGISTRY_INIT is exposed to game scripts, allowing to list registry keys that should be set on WINE prefix initialisation. 2.32.8 * Fix the ability to require multiple ./play.it-provided old libraries. * Fix help message for --package option. * Add support for extra native libraries: - libSDL2_net-2.0.so.0 * Add support for extra GStreamer decoders: - audio/x-wma - video/x-wmv 2.32.7 * Restore late icons requirements check. 2.32.6 * Allow early icons requirement check to fail for Unity3D games. 2.32.5 * Fix support for package-specific APP_xxx_SCUMMID during launcher generation checks. * Fix early detection of icons for WINE and Mono games. * Drop late icons requirements check. * Prevent some ignored errors from being shown if /bin/sh = bash. * New package dependencies on native commands: - pidwait * New package dependencies on native libraries: - alleg-alsadigi.so - alleg-alsamidi.so - libaldmb.so.1 - liballeg.so.4.4 - libdumb.so.1 -
2.32.8
76fab6b9 · ·2.32.8 bugfix release * Fix the ability to require multiple ./play.it-provided old libraries. * Fix help message for --package option. * Add support for extra native libraries: - libSDL2_net-2.0.so.0 * Add support for extra GStreamer decoders: - audio/x-wma - video/x-wmv
-
-
2.32.6
cb72add9 · ·2.32.6 bugfix release * Allow early icons requirement check to fail for Unity3D games.
-
2.32.5
e4e94dd6 · ·2.32.5 bugfix release * Fix support for package-specific APP_xxx_SCUMMID during launcher generation checks. * Fix early detection of icons for WINE and Mono games. * Drop late icons requirements check. * Prevent some ignored errors from being shown if /bin/sh = bash. * New package dependencies on native commands: - pidwait * New package dependencies on native libraries: - alleg-alsadigi.so - alleg-alsamidi.so - libaldmb.so.1 - liballeg.so.4.4 - libdumb.so.1
-
-
2.32.3
3905ea04 · ·2.32.3 bugfix release * Fix warnings for features deprecated with ./play.it 2.31. * Drop a call to deprecated function check_deps. * Improve the clean up of Unity3D plugins directory. * Add the ability to set a dependency on julius, the free engine for Caesar 3. * Add the ability to set dependencies on extra native libraries: - libcrypto.so.3 - libssl.so.3
-
2.32.2
ec08e5ee · ·2.32.2 bugfix release * Do not override SDL_DYNAMIC_API if already set by the environment. * Fix the error message on missing files from multi-parts installers. * Fix application type detection with file ≥ 5.46. * Fix calls to persistent_path_diversion from launchers when the destination does not exist yet. * Fix the ability to use the --list-requirements switch. * When listing supported games, prevent a leak of the compatibility level.
-
2.32.1
45654ae2 · ·2.32.1 bugfix release * Visionaire games - Add a missing dependency on SDL 2. * Linux native Unity3D games - Add an implicit dependency on SDL2. * Ren'Py games - Fix the generation of launchers. * Update huge files handling to no longer rely on inherited variables. * Gentoo (egentoo variant) - Hardcode some package metadata instead of relying on a broken function.
-
2.32.0
debd0917 · ·2.32.0 feature release * Deprecation notices: * The debug system is fully dropped: the library can no longer be built in "debug mode" and the --debug option is no longer supported. * Support for the obsolete compatibility wrapper extract_data_from is dropped. In most cases game scripts should use archive_extraction_default, introduced with ./play.it 2.25. In some specific cases archive_extraction should be used instead, introduced with ./play.it 2.16. * Support for the obsolete compatibility wrapper icons_get_from_package is dropped. Game scripts should use content_inclusion_icons instead, introduced with ./play.it 2.28. * Support for the obsolete compatibility wrapper prepare_package_layout is dropped. Game scripts should use content_inclusion_default instead, introduced with ./play.it 2.18. * The variables ARCHIVE_xxx_PATH and ARCHIVE_xxx_FILES can no longer be used to list archive contents. Game scripts should use the CONTENT_xxx_PATH (or CONTENT_PATH_DEFAULT) and CONTENT_xxx_FILES variables introduced with ./play.it 2.18. * The variable APP_WINE_LINK_DIRS can no longer be used to divert paths from the WINE prefix to the game prefix. Game scripts should use the WINE_PERSISTENT_DIRECTORIES variable instead, introduced with ./play.it 2.23. * Support for the obsolete APP_WINETRICKS variable is dropped. The variable WINE_WINETRICKS_VERBS, introduced with ./play.it 2.25, should be used instead. * Improvements to MD5 hashes caching: * Prior to this update, the MD5 hash computation of an archive could happen multiple times, if this archive name was shared between multiple supported archives and a MD5 hash was required to identify the correct one. * As a side effect of PLAYIT_WORKDIR being set earlier in the process, it no longer always include the game identifier in its path. * Users can once again set a custom working directory path by setting PLAYIT_WORKDIR in their environment. Beware that running parallel ./play.it calls with a same value for PLAYIT_WORKDIR will inevitably lead to failures. * Predictable ordering for archives list: * The order of archive identifiers returned by archives_list is now predictable, with the most recent archives at the top. * New default paths for game scripts collections: * The new default paths are, in priority order: - ~/.local/share/play.it/collections - /usr/local/share/games/play.it/collections - /usr/local/share/play.it/collections - /usr/share/games/play.it/collections - /usr/share/play.it/collections * The legacy paths are still supported, with a lower priority: - ~/.local/share/play.it/games - /usr/local/share/games/play.it/games - /usr/local/share/play.it/games - /usr/share/games/play.it/games - /usr/share/play.it/games * Graphical terminal spawning from launchers: * The function "terminal_wrapper" is made available in a launcher by: 1. Including the output of launcher_wrapper_terminal in the launcher 2. Add a dependency on the command "terminal_wrapper" * On Debian it uses x-terminal-emulator by default, and falls back to xterm. * On Arch Linux and Gentoo it uses xterm. * Improved support for Debian-provided DXVK: * The code handling DXVK installation in WINE prefixes is updated to work with the recent dxvk 2.5.1-1 update that reached Debian unstable. * If the Debian-provided dxvk package is available, winetricks is no longer a requirement. If this package is not installed winetricks is still used as a fallback. * Improvements to winetricks handling: * On Debian, x-terminal-emulator is used instead of xterm when winetricks needs to spawn in a terminal. * Expanded context support for GAME_ID: * The package specific value of GAME_ID is used if provided when fetching it through one of the following functions: - path_documentation - path_game_data - path_fonts_ttf - path_libraries * Ren'Py write access to the game directory: * Ren'Py games can be run from a symlinks farm prefix instead of the read-only system path, allowing them to write files in the game directory. * Case-insensitive archives content: * The paths listed in CONTENT_xxx_FILES variables are now case-insensitive. * The paths listed in CONTENT_xxx_PATH are still case-sensitive. -
2.31.1
e0cd50db · ·2.31.1 bugfix release * Work around a loss of input on loss of focus with Unity3D games run through WINE. * Display the message about icons inclusion only once. * Failure to guess an application type from its MIME information due to CONTENT_PATH_DEFAULT being unset should now trigger an error explicit about the missing variable. * Failure to guess an application type from its MIME information due to APP_xxx_EXE being set to a wrong value should now trigger an error explicit about the wrong path. * Drop the reliance on a deprecated dependencies system when handling huge files that need to be split. * Fix the error thrown when a required archive is missing.