Skip to content
2.20.0 feature release

Deprecation warnings

* APP_xxx_PRERUN/APP_xxx_POSTRUN behaviour is changed for DOSBox game scripts targeting ./play.it ≥ 2.20.
  See "Changes specific to DOSBox" below for more details.
* "package_get_path" is now a compatibility wrapper around "package_path".
  See "Changes related to packages" below for more details.

Codebase improvements

* Provide new variable manipulation helpers:
  - variable_is_set
  - variable_is_empty
* Rework multiple functions to avoid querying unset variables.

Changes related to packages

* A new function "package_name" is provided, returning the file name of a given package.
* Packages are prepared in "${PLAYIT_WORKDIR}/packages" instead of the root of "$PLAYIT_WORKDIR".
* The function returning the path to the directory where a given package is prepared is renamed from "package_get_path" to "package_path".

Changes specific to DOSBox

* Drop special behaviour when using APP_xxx_PRERUN/APP_xxx_POSTRUN.
  Game scripts targeting ./play.it < 2.20 are unaffected, commands set using APP_xxx_PRERUN/APP_xxx_POSTRUN are still run from inside DOSBox.
  For games scripts targeting ./play.it ≥ 2.20, commands set using APP_xxx_PRERUN are run before spawning DOSBox, and commands set using APP_xxx_POSTRUN are run after exiting DOSBox.
  Two new variables are provided to set commands that should be run inside DOSBox:
  - APP_xxx_DOSBOX_PRERUN
  - APP_xxx_DOSBOX_POSTRUN

Changes specific to Mono

* Add ability to run games without a local user prefix.

Changes specific to Gentoo

* Change egentoo output paths. Instead of making packages in data, amd64 and x86 directories, ebuilds are now created in an overlay/games-playit directory and packages in a packages directory.
* With egentoo variant, generate only one ebuild and one tar archive, with a bit more complexity in the ebuild, in order to decide which content to install.