20210131
Pre-release- Updated engine to
playtest-20210131
- Updated toolchain to work with the new OpenRA engine
- Removed legacy python2 requirement
- Fixed 64-bit Windows installer installing to the wrong Program Files directory
- Fixed HiDPI rendering in Windows installers
- Replaced Travis CI continuous integration support with GitHub Actions
This is a major update to the mod SDK. The following files have changed:
.github/workflows/ci.yaml
(new file).github/workflows/packaging.yml
(new file).gitignore
.travis.yml
(deleted)Makefile
make.ps1
mod.config
fetch-engine.sh
launch-dedicated.cmd
launch-dedicated.sh
launch-game.cmd
launch-dedicated.sh
utility.cmd
utility.sh
OpenRA.Mods.Example/OpenRA.Mods.Example.csproj
mods/example/audio/notifications.yaml
mods/example/cursor.yaml
mods/example/mod.yaml
packaging/linux/buildpackage.sh
packaging/linux/include/AppRun.in
(deleted)packaging/linux/include/gtk-dialog.py
(deleted)packaging/linux/include/mod-mimeinfo.xml.in
(deleted)packaging/linux/include/mod-server.in
(deleted)packaging/linux/include/mod-utility.in
(deleted)packaging/linux/include/mod.desktop.in
(deleted)packaging/linux/include/mod.in
(deleted)packaging/macos/buildpackage.sh
packaging/macos/entitlements.plist
(deleted)packaging/package-all.sh
packaging/windows/buildpackage.nsi
packaging/windows/buildpackage.sh
We recommend updating by making a backup of your packaging/artwork
directory, deleting the packaging
directory, and then replacing it with the updated directory structure in this release before restoring your custom artwork. Note that many files have been deleted, so extracting the new files over the top of the existing structure is not sufficient.
.travis.yml
should be deleted and replaced with the new .github
directory structure.
.gitignore
, Makefile
, make.ps1
, fetch-engine.sh
, launch-dedicated.cmd
, launch-dedicated.sh
, launch-game.cmd
, launch-dedicated.sh
, utility.cmd
, utility.sh
should then be replaced with the updated versions in this release.
The following changes are required in your mod.config
:
- In the
Core Configuration
section:- Change
ENGINE_VERSION
toplaytest-20210131
- Change
- Delete the entire
Continuous Integration
section - In the
Packaging
section:- Add new definitions:
and update the values if relevant for your mod.
# Space delimited list of dll files compiled by the mod, which # should be copied from the bin directory into your installers PACKAGING_COPY_MOD_BINARIES="OpenRA.Mods.Example.dll" # If your mod depends on OpenRA.Mods.Cnc.dll from the engine set # this to "True" to package the dll in your installers. # Accepts values "True" or "False". PACKAGING_COPY_CNC_DLL="False" # If your mod depends on OpenRA.Mods.D2k.dll from the engine set # this to "True" to package the dll in your installers. # Accepts values "True" or "False". PACKAGING_COPY_D2K_DLL="False" # If you wish to enable Discord integration, register an # application at https://discord.com/developers/applications # and define the client id here and in your mod.yaml PACKAGING_DISCORD_APPID=""
- Change
PACKAGING_OSX_LAUNCHER_TAG="osx-launcher-20200316"
toPACKAGING_OSX_MONO_TAG="osx-launcher-20200830"
(note that both the name and value have changed) - Change
PACKAGING_APPIMAGE_DEPENDENCIES_TAG
to20200328
- Add new definitions:
- In the
Advanced Configuration
section:- Delete all of the variable definitions and replace with
# Automatic engine managment will treat the OpenRA engine files like a read-only dependency. # Disable this if you would like to modify or manager your own engine files. AUTOMATIC_ENGINE_MANAGEMENT="True" # The URL to download the engine files from when AUTOMATIC_ENGINE_MANAGEMENT is enabled. AUTOMATIC_ENGINE_SOURCE="https://github.com/OpenRA/OpenRA/archive/${ENGINE_VERSION}.zip" # Temporary file/directory names used by automatic engine management. # Paths outside the SDK directory are not officially supported. AUTOMATIC_ENGINE_EXTRACT_DIRECTORY="./engine_temp" AUTOMATIC_ENGINE_TEMP_ARCHIVE_NAME="engine.zip" ENGINE_DIRECTORY="./engine" # The url to download the OpenRA macOS mono runtime. PACKAGING_OSX_MONO_SOURCE="https://github.com/OpenRA/OpenRALauncherOSX/releases/download/${PACKAGING_OSX_MONO_TAG}/mono.zip" # Temporary file name used when downloading the OpenRA macOS launcher files. PACKAGING_OSX_MONO_TEMP_ARCHIVE_NAME="mono.zip" # The url to download the OpenRA AppImage dependencies. PACKAGING_APPIMAGE_DEPENDENCIES_SOURCE="https://github.com/OpenRA/AppImageSupport/releases/download/${PACKAGING_APPIMAGE_DEPENDENCIES_TAG}/mono.tar.bz2" # Temporary file name used when downloading the OpenRA AppImage dependencies. PACKAGING_APPIMAGE_DEPENDENCIES_TEMP_ARCHIVE_NAME="mono.tar.bz2" # List of .NET assemblies that we can guarantee exist WHITELISTED_OPENRA_ASSEMBLIES="OpenRA.exe OpenRA.Utility.exe OpenRA.Server.exe OpenRA.Platforms.Default.dll OpenRA.Game.dll OpenRA.Mods.Common.dll OpenRA.Mods.Cnc.dll OpenRA.Mods.D2k.dll" # These are explicitly shipped alongside our core files by the packaging script WHITELISTED_THIRDPARTY_ASSEMBLIES="ICSharpCode.SharpZipLib.dll FuzzyLogicLibrary.dll Eluant.dll BeaconLib.dll Open.Nat.dll SDL2-CS.dll OpenAL-CS.Core.dll DiscordRPC.dll Newtonsoft.Json.dll" # These are shipped in our custom minimal mono runtime and also available in the full system-installed .NET/mono stack # This list *must* be kept in sync with the files packaged by the AppImageSupport and OpenRALauncherOSX repositories WHITELISTED_CORE_ASSEMBLIES="mscorlib.dll System.dll System.Configuration.dll System.Core.dll System.Numerics.dll System.Security.dll System.Xml.dll Mono.Security.dll netstandard.dll"
- Delete all of the variable definitions and replace with
If your mod includes any custom c# projects you must update their csproj
files to use the new OpenRA standard template. Open each csproj
file with a standard text editor and replace the file contents with the text in OpenRA.Mods.Example/OpenRA.Mods.Example.csproj
.
This SDK version is not backwards compatible with previous OpenRA's engine versions, and you must proceed with the Engine update guide before your mod will run on the new release.