2.27.0 feature release * Deprecation notices: * Support for the following deprecated functions is dropped: - context_specific_value - icons_linking_postinst - organize_data - use_archive_specific_value * Support for the following message functions is dropped: - print_warning - print_error See "New wrapper for messages display" for more details. * archive_get_type is deprecated, archive_type should be used instead. See "Changes related to archives" for more details. * The legacy global variables ARCHIVE and PKG should no longer be used. See "Improvements of the context system" for more details. * The functions context_archive and context_package are deprecated. See "Improvements of the context system" for more details. * The variable APP_xxx_TYPE_VARIANT is no longer supported, GAME_ENGINE should be used instead. It can usually be omitted, like with APP_xxx_TYPE_VARIANT. * The packages_get_list function is deprecated, packages_list should be used instead. * New wrapper for messages display: * A new function is provided to display all messages: print_message It expects a priority level as its first argument: - `print_message 'error' $message` replaces `print_error ; printf $message` - `print_message 'warning' $message` replaces `print_warning ; printf $message` - `print_message 'info' $message` replaces `printf $message` * Changes related to archives: * The presence of an optional archive can be checked using a dedicated function: archive_is_available * The type of an archive is retrieved using a new function: archive_type Unlike the previous function (archive_get_type), this will not trigger an error if no type is set for the given archive. * Improvements related to icons extraction: * A new function is provided to get the full path to an icon file: icon_full_path * Most functions related to icons extraction now take an icon identifier instead of the path to an icon file. * Reliance on the global variable WRESTOOL_OPTIONS is dropped. * Improvements of the context system: * A new function is provided to set the current archive: set_current_archive * A new function is provided to set the current package: set_current_package * The functions used to get the current context have been renamed: - context_archive → current_archive - context_package → current_package * Support for Visionaire engine: * A game script can rely on Visionaire engine support by setting GAME_ENGINE='visionaire' or by setting a value to IONAIRE_NAME. Since the engine value falls back to "visionaire" when VISIONAIRE_NAME is set, GAME_ENGINE can usually omitted. * Default values are set for multiple variables: - APPLICATIONS_LIST - APP_xxx_EXE - CONTENT_LIBS_BIN_PATH - CONTENT_LIBS_BIN_FILES - CONTENT_GAME_BIN_FILES - CONTENT_GAME_DATA_FILES - CONTENT_DOC_DATA_PATH - CONTENT_DOC_DATA_FILES - PACKAGES_LIST - PKG_DATA_ID - PKG_DATA_DESCRIPTION - PKG_BIN_DEPS - PKG_BIN_DEPENDENCIES_LIBRARIES * For native Linux games, the used of system SDL is forced. * For WINE games, SDL_VIDEODRIVER is prevented from taking the value "wayland". * Improvements specific to WINE games: * A new compatibility link is added in the WINE user directory: "Local Settings/Application Data" → "AppData/Local". * Improvements specific to Unity3D games: * For native Linux games, the use of system SDL is forced.