Our goal is to keep breaking changes between any given versions of X Rebirth to an absolute minimum. In some cases, however, we have had to change things which break scripts/mods which were written for older versions. The same will be true for UI modding. The following section contains all breaking changes on the UI modding side. This should help you to make any necessary changes to restore compatibility of older mods with new versions of X Rebirth.
Please note that during the beta/RC phase of 3.50, the UI modding design is still in a state of flux and we are more likely to introduce breaking changes while we stabilise the modding interface.
3.20 -> 3.50 Beta 1
In order to make UI modding available, we have had to update the handling of the ui.xml file. In 3.20 your ui.xml file used a patch facility to hook into the UI system. In 3.50 your ui.xml file is now directly interpreted by the UI engine.
Here's a quick example on how to convert the 3.20 ui.xml file to a matching 3.50 one:
pre 3.50 ui.xml file
post 3.50 ui.xml file
line 2: ensure the name attribute is set to your own addon's name
line 4: add the dependency to the Egosoft addon, you hook into
XPL and Lua byte code support removed
If you provided your scripts in byte code or with a file extension other than ".lua" (for instance ".xpl"), you will have to rename the file and provide the Lua script in plain-text.
Note that this also works in versions prior to 3.50. So if you provided the Lua scripts already with these specifications for 3.20, there's no need to change anything.
3.50 Beta 1 -> 3.50 Beta 2
IsComponentValid() renamed to IsValidComponent()
The function was renamed. If you called IsComponentValid() before, you'll need to change your code and call IsValidComponent() now.
3.50 Beta 2 -> 3.5 post Beta 2
Lua/FFI function changes
|Lua||removed - use FFI GetFactionName()|
|Lua||removed - use FFI GetRelationStatus()|
|Lua||removed - use FFI GetFactionRelationStatus()|
|FFI||changed - return value changed|