Skip to content

20190825

Pre-release
Pre-release
Compare
Choose a tag to compare
@pchote pchote released this 25 Aug 16:25
  • Updated engine to playtest-20190825
  • Updated toolchain to work with the new OpenRA engine
  • Linux and macOS applications no longer require a system Mono installation
  • Added 64-bit Windows installer and portable packages (with -x86 and -x64 filename suffixes)
  • Changed AppImage filename to include -x86_64 suffix.

This is a major update to the mod SDK. The following files have changed:

  • .travis.yml
  • Makefile
  • make.ps1
  • mod.config
  • ExampleMod.sln
  • packaging/linux/buildpackage.sh
  • packaging/linux/include/AppRun.in
  • packaging/linux/include/Eluant.dll.config (deleted)
  • packaging/linux/include/OpenAL-CS.dll.config (deleted)
  • packaging/linux/include/SDL2-CS.dll.config (deleted)
  • packaging/linux/include/mod-utility.in
  • packaging/osx/buildpackage.sh
  • packaging/windows/buildpackage.nsi
  • packaging/windows/buildpackage.sh

We recommend updating by making a backup of any custom icons you have set in the platform-specific packaging directories, deleting the packaging directory and all its contents, and then replacing it with the updated versions in this release before restoring your custom icons. Note that several files have been deleted, so extracting the new files over the top of the existing structure is not sufficient.

.travis.yml, Makefile, ExampleMod.sln, and make.ps1 should then be replaced with the updated versions in this release.

If your mod defines its own sln file you must update the Debug and Release configurations to build all projects as Any CPU and add a new Release-x86 configuration that builds all dll projects using the Release configuration, and all exe projects using the Release-x86 configuration. Refer to the ExampleMod.sln for more details.

The following changes made to mod.config:

  • In the Core Configuration section:
    • Change ENGINE_VERSION to playtest-20190825
    • Add a new definition:
      # .dll filenames compiled by the mod solution for use by the runtime assembly check
      WHITELISTED_MOD_ASSEMBLIES="OpenRA.Mods.Example.dll"
      If your mod has deleted the Example dll then you should instead define this as
      # .dll filenames compiled by the mod solution for use by the runtime assembly check
      WHITELISTED_MOD_ASSEMBLIES=""
      or if you have your own mod dll(s) this should instead specify their name(s) separated by spaces.
  • In the Packaging section:
    • Change PACKAGING_OSX_LAUNCHER_TAG to osx-launcher-20190506
    • Change PACKAGING_APPIMAGE_DEPENDENCIES_TAG to 20190506
  • In the Advanced Configuration section:
    • Add new definitions:
      # List of .NET assemblies that we can guarantee exist
      # OpenRA.Game.dll is a harmless false positive that we can ignore
      WHITELISTED_OPENRA_ASSEMBLIES="OpenRA.Game.exe OpenRA.Utility.exe OpenRA.Platforms.Default.dll OpenRA.Mods.Common.dll OpenRA.Game.dll"
      
      # These are explicitly shipped alongside our core files by the packaging script
      WHITELISTED_THIRDPARTY_ASSEMBLIES="ICSharpCode.SharpZipLib.dll FuzzyLogicLibrary.dll MaxMind.Db.dll Eluant.dll rix0rrr.BeaconLib.dll Open.Nat.dll SDL2-CS.dll OpenAL-CS.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"

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. Find the <OutputPath> definition (line 9) and replace example with your mod ID.

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.