Changes for page Breaking Changes
Last modified by Michael Baumgardt on 2026/04/17 12:03
From version 89.1
edited by florian
on 2021/06/17 12:21
on 2021/06/17 12:21
Change comment:
There is no comment for this version
To version 105.1
edited by Daniel Turner
on 2023/08/25 09:46
on 2023/08/25 09:46
Change comment:
There is no comment for this version
Summary
-
Page properties (3 modified, 0 added, 0 removed)
-
Objects (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Parent
-
... ... @@ -1,0 +1,1 @@ 1 +X4 Foundations Wiki.Modding Support.WebHome - Author
-
... ... @@ -1,1 +1,1 @@ 1 -xwiki:XWiki. florian1 +xwiki:XWiki.Daniel - Content
-
... ... @@ -4,13 +4,13 @@ 4 4 The following table provides an overview about all breaking changes. This should help you to make any necessary changes to restore compatibility of older mods with new versions of X4. 5 5 Feel free to drop a note if a certain breaking change is breaking your mod and you have difficulties finding a way to work around the issue. 6 6 7 -{{no te}}8 -The list of breaking changes does **NOT**cover changes in the provided/shipped scripts (for instance UI scripts like the ones located under ui/addons/XXX or ui/core/Lua). These scripts can change anytime without explicit notice. If you hook into one of these scripts or provide replacements for these, please check the script for possible breaking changes yourself.7 +{{info}} 8 +⚠ The list of breaking changes does **NOT** cover changes in the provided/shipped scripts (for instance UI scripts like the ones located under ui/addons/XXX or ui/core/Lua). These scripts can change anytime without explicit notice. If you hook into one of these scripts or provide replacements for these, please check the script for possible breaking changes yourself. 9 9 10 10 Further note that the list provides information about breaking changes which are in the pipeline of being released. This is meant merely as an informational heads up. Neither do mistake this as an announcement of that version becoming available soon nor take it for granted that such a change will go live. Any information provided for not yet released versions can change (and even be removed) prior to such version having seen the light of day. 11 11 12 12 As a final note, please be aware that issues introduced during the beta phase might not be explicitly mentioned in the list below, if things would only be broken in-between two beta versions. While we still aim to document any (potential) breaking change here, there might be circumstances for which we divert from that procedure (especially in case of only minor issues which are considered merely bugfixes rather than an intended behavior change). 13 -{{/no te}}13 +{{/info}} 14 14 15 15 {{warning title="UI modding considered unstable until further notice..."}} 16 16 Please note that UI modding must be considered **unstable** in the current version. While we are working hard to get the UI modding integration into a stable state, we might have to introduce larger backwards incompatibilities in the following patches. This means that you might have to modify any mod using UI modding capabilities to a larger extend to keep it compatible with certain patches. Still, we are doing our best not to unnecessarily break things for modders and certainly will announce such changes on this page here. ... ... @@ -18,6 +18,7 @@ 18 18 19 19 = Breaking Changes = 20 20 21 +(% class="wrapped" %) 21 21 |=((( 22 22 Type 23 23 )))|=((( ... ... @@ -24,12 +24,152 @@ 24 24 Version 25 25 )))|=((( 26 26 Summary 27 -)))|=(% colspan="1" %)(% colspan="1" %) 28 +))) 29 +|(% colspan="3" %)(% colspan="3" %) 28 28 ((( 29 - 31 +== 6.00 == 30 30 ))) 31 -|(% colspan="4" %)(% colspan="4" %) 33 +|((( 34 +Libraries 35 +)))|((( 36 +6.00 Beta 7 37 +)))|((( 38 +Updated weights for ship groups in shipgroups.xml libraries of base game and all DLCs. 39 +))) 40 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" title="Background colour :" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" title="Background colour :" %) 32 32 ((( 42 +//Previously some entries were lacking "weight" parameter, causing it to default to "1", which prevent adding new ships to the group with appropriate/configurable granularity.// 43 + 44 +//All groups should now have "weight" parameter added and old "weights" were updated to not have single-digit numbers.// 45 +))) 46 +|(% colspan="1" %)(% colspan="1" %) 47 +((( 48 +Scripts 49 +)))|(% colspan="1" %)(% colspan="1" %) 50 +((( 51 +6.00 Beta 4 52 +)))|(% colspan="1" %)(% colspan="1" %) 53 +((( 54 +Changed conditions for **<event_player_travelmode_started> <event_player_travelmode_stopped> <event_player_travelmode_charge_started> <event_player_travelmode_charge_aborted>** to be raised. 55 +))) 56 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" title="Background colour :" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" title="Background colour :" %) 57 +((( 58 +//The <event_player_travelmode_started>, <event_player_travelmode_stopped>, <event_player_travelmode_charge_started> and <event_player_travelmode_charge_aborted> events will no longer be raised if the player is a passenger on board a ship which enters or leaves travel mode. Previously these events would be raised whether the player was the pilot or a passenger. // 59 + 60 +//Scripts that need to check whether the player exits travel mode may also need to consider checking whether the player leaves the control seat using <event_player_stopped_control> since this will also result in travel mode stopping.// 61 +))) 62 +|(% colspan="1" %)(% colspan="1" %) 63 +((( 64 +Scripts 65 +)))|(% colspan="1" %)(% colspan="1" %) 66 +((( 67 +6.00 Beta 3 68 +)))|(% colspan="1" %)(% colspan="1" %) 69 +((( 70 +Changed result of **<find_object_surface>** action in the case of a failure 71 +))) 72 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" title="Background colour :" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" title="Background colour :" %) 73 +((( 74 +//The 'posname' and 'rotname' result attributes of <find_object_surface> will now return null in the case of no valid surface position being found.// 75 + 76 +//Previously, it returned null only if there was a physics error. It however returned a valid, somewhat-random, position if physics were fine but it was still unable to find a suitable surface position. This position was often unsuitable to use for gameplay purposes so it is now null so the caller can handle the situation.// 77 + 78 +//The action itself has been improved to increase the chance of finding suitable surface positions.// 79 +))) 80 +|(% colspan="1" %)(% colspan="1" %) 81 +((( 82 +Scripts 83 +)))|(% colspan="1" %)(% colspan="1" %) 84 +((( 85 +6.00 Beta 1 86 +)))|(% colspan="1" %)(% colspan="1" %) 87 +((( 88 +Behaviour change for **<match_dock>** script component filter 89 +))) 90 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" title="Background colour :" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" title="Background colour :" %) 91 +((( 92 +//<match_dock> nodes can now be used on container and walkablemodule classes without wrapping them in <match_content> nodes. 93 +This has introduced a new potential pitfall: If finding or counting contained components be wary that there may be multiple positive results, even if there is only one dockingbay. e.g. matching contents for a station will include the dockingbay but also its containing walkable module as that also contains the dockingbay. To only account for docking bays, also filter by dockingbay class.// 94 +))) 95 +|(% colspan="1" %)(% colspan="1" %) 96 +((( 97 +Scripts 98 +)))|(% colspan="1" %)(% colspan="1" %) 99 +((( 100 +6.00 Beta 1 101 +)))|(% colspan="1" %)(% colspan="1" %) 102 +((( 103 +Changed result attribute location for **<get_attackstrength>** 104 +))) 105 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" title="Background colour :" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" title="Background colour :" %) 106 +((( 107 +//The 'result' attribute of get_attackstrength has been moved into the new <result> subnode and renamed to 'total'.// 108 +))) 109 +|((( 110 +Assets 111 +)))|((( 112 +6.00 Beta 1 113 +)))|((( 114 +Surface element **connections** are incompatible by default unless tagged as "**standard**", and also "**combat**" for non-missile, non-mining weapons 115 +))) 116 +|(% class="highlight-#f4f5f7" colspan="3" data-highlight-colour="#f4f5f7" title="Background color : Light grey 100%" %)(% class="highlight-#f4f5f7" colspan="3" data-highlight-colour="#f4f5f7" title="Background color : Light grey 100%" %) 117 +((( 118 +//Connection tags used to specify compatibilities in component templates between a ship or station module and engines or shields now additionally require the use of the "standard" tag matching weapon or turret logic. For weapons that are neither Missile Launcher nor Mining Laser, the tag "combat" is also required. 119 +Exception: special equipment that is deliberately not compatible with the majority of slots may use another tag instead of "standard", e.g. "highpower" for certain Terran weapons.// 120 +))) 121 +|(% colspan="1" %)(% colspan="1" %) 122 +((( 123 +Scripts 124 +)))|(% colspan="1" %)(% colspan="1" %) 125 +((( 126 +6.00 Beta 1 127 +)))|(% colspan="1" %)(% colspan="1" %) 128 +((( 129 +Changed behaviour of attribute **sortbygatedistanceto** when finding objects, discarding unreachable objects 130 +))) 131 +|(% class="highlight-#f4f5f7" colspan="3" data-highlight-colour="#f4f5f7" title="Background color : Light grey 100%" %)(% class="highlight-#f4f5f7" colspan="3" data-highlight-colour="#f4f5f7" title="Background color : Light grey 100%" %) 132 +((( 133 +//When finding components with attribute "sortbygatedistanceto", e.g. in <find_object>, any objects with a negative gatedistance (i.e. unreachable objects) are automatically excluded from the result.// 134 +))) 135 +|((( 136 +Scripts 137 +)))|((( 138 +6.00 Beta 1 139 +)))|((( 140 +**<event_player_owned_killed_object>** and **<event_player_owned_destroyed>** are now triggered before the corresponding **<event_object_destroyed>**, instead of afterwards. 141 +))) 142 +|(% class="highlight-#f4f5f7" colspan="3" data-highlight-colour="#f4f5f7" title="Background color : Light grey 100%" %)(% class="highlight-#f4f5f7" colspan="3" data-highlight-colour="#f4f5f7" title="Background color : Light grey 100%" %) 143 +((( 144 +//The order of events was adjusted, allowing handlers of <event_player_owned_killed_object> and <event_player_owned_destroyed> to access commander/subordinate relationship of the destroyed object.// 145 +))) 146 +|((( 147 +Cutscenes 148 +)))|((( 149 +6.00 Beta 1 150 +)))|((( 151 +Changed behaviour of **<angles>** in cutscenes 152 +))) 153 +|(% class="highlight-#f4f5f7" colspan="3" data-highlight-colour="#f4f5f7" title="Background color : Light grey 100%" %)(% class="highlight-#f4f5f7" colspan="3" data-highlight-colour="#f4f5f7" title="Background color : Light grey 100%" %) 154 +((( 155 +//The yaw and pitch nodes in <angles> are now correctly interpreted as values in degrees.// 156 +))) 157 +|(% colspan="3" %)(% colspan="3" %) 158 +((( 159 +== 5.00 == 160 +))) 161 +|((( 162 +Parameters 163 +)))|((( 164 +5.00 Beta 1 165 +)))|((( 166 +**<controlpanel><entry>: minduration** removed, **maxduration** renamed to duration 167 +))) 168 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 169 +((( 170 +//'minduration' was unused in X4, maxduration was and still is taken as the actual duration of control panel hacks. No functionality change.// 171 +))) 172 +|(% colspan="3" %)(% colspan="3" %) 173 +((( 33 33 == 4.10 == 34 34 ))) 35 35 |(% colspan="1" %)(% colspan="1" %) ... ... @@ -37,31 +37,76 @@ 37 37 UI extensions 38 38 )))|(% colspan="1" %)(% colspan="1" %) 39 39 ((( 40 -4.10 Beta 2181 +4.10 Beta 7 41 41 )))|(% colspan="1" %)(% colspan="1" %) 42 42 ((( 43 -**FFI**: SetMacroMapPlayerSectorOffset() deprecated 184 +**FFI**: (% style="color:#000000" %)SetMapRenderCargoContents(%%)(), (% style="color:#000000" %)SetMapRenderWorkForceInfo(), SetMapRenderCrewInfo() and SetMapRenderDockedShipInfos()(%%) deprecated 185 +))) 186 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 187 +((( 188 +//The functionality represented by (% style="color:#000000" %)SetMapRenderCargoContents(%%)(), (% style="color:#000000" %)SetMapRenderWorkForceInfo(), SetMapRenderCrewInfo() and SetMapRenderDockedShipInfos()(%%) has been removed and the function was therefore stubbed.// 189 +))) 190 +|(% colspan="1" %)(% colspan="1" %) 191 +((( 192 +UI extensions 44 44 )))|(% colspan="1" %)(% colspan="1" %) 45 45 ((( 46 - 195 +4.10 Beta 6 196 +)))|(% colspan="1" %)(% colspan="1" %) 197 +((( 198 +**FFI**: CustomGameStartPlayerProperty2 changed 47 47 ))) 48 48 |(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 49 49 ((( 50 -The functionality represented by //SetMacroMapPlayerSectorOffset//() has been removed and the function was therefore stubbed. Setting the gamestart properties "sector" and "offset" will affect the universe macro map instead directly. 202 +//This struct was added in 4.10 Beta 2 and an additional member count was added in Beta 6.// 203 +))) 204 +|(% colspan="1" %)(% colspan="1" %) 205 +((( 206 +Parameters 51 51 )))|(% colspan="1" %)(% colspan="1" %) 52 52 ((( 53 - 209 +4.10 Beta 3 210 +)))|(% colspan="1" %)(% colspan="1" %) 211 +((( 212 +Renamed **<stationinfobox>** to **<infobox>** 54 54 ))) 214 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 215 +((( 216 +//Info box parameters are now shared across stations and ships. The node has a more generic name to reflect that.// 217 +))) 218 +|(% colspan="1" %)(% colspan="1" %) 219 +((( 220 +UI extensions 221 +)))|(% colspan="1" %)(% colspan="1" %) 222 +((( 223 +4.10 Beta 2 224 +)))|(% colspan="1" %)(% colspan="1" %) 225 +((( 226 +**FFI**: SetMacroMapPlayerSectorOffset() deprecated 227 +))) 228 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 229 +((( 230 +//The functionality represented by SetMacroMapPlayerSectorOffset() has been removed and the function was therefore stubbed. Setting the gamestart properties "sector" and "offset" will affect the universe macro map instead directly.// 231 +))) 55 55 |((( 233 +UI extensions 234 +)))|((( 235 +4.10 Beta 2 236 +)))|((( 237 +**FFI**: (% style="color:#000000" %)FilterComponentForMapMode(%%)() and (% style="color:#000000" %)SetMapObjectFilter() changed 238 +))) 239 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 240 +((( 241 +//These functions were added in 4.10 Beta 1 and an additional boolean parameter allowentitydeliverymissionobject was added in Beta 2.// 242 +))) 243 +|((( 56 56 Scripts 57 57 )))|((( 58 58 4.10 Beta 1 59 59 )))|((( 60 -People related attributes of mission** <delivery> **node moved 61 -)))|((( 62 - 248 +People related attributes of mission** <delivery> **node moved 63 63 ))) 64 -|(% class="highlight-grey" colspan=" 4" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="4" data-highlight-colour="grey" %)250 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 65 65 ((( 66 66 //The <delivery> node of <create_mission> and <update_mission> has been changed to support a new <wares> subnode. The people related attributes: 'people' and 'skills' have been moved from the <delivery> node itself to a <people> subnode.// 67 67 ))) ... ... @@ -74,16 +74,10 @@ 74 74 )))|(% colspan="1" %)(% colspan="1" %) 75 75 ((( 76 76 **$destructible.productions** replaced with $defensible.productions 77 -)))|(% colspan="1" %)(% colspan="1" %) 78 -((( 79 - 80 80 ))) 81 81 |(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 82 82 ((( 83 83 //The $destructible.productions script property was removed and reimplemented as $defensible.productions meaning some old uses may no longer work unless the destructible is also a defensible. The old implementation functioned by finding the containing object of the destructible (including itself) to query for the production modules.// 84 -)))|(% colspan="1" %)(% colspan="1" %) 85 -((( 86 - 87 87 ))) 88 88 |((( 89 89 Scripts ... ... @@ -91,14 +91,12 @@ 91 91 4.10 Beta 1 92 92 )))|((( 93 93 Removed script property **$object.spawnsourceseed** 94 -)))|((( 95 - 96 96 ))) 97 -|(% class="highlight-grey" colspan=" 4" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="4" data-highlight-colour="grey" %)275 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 98 98 ((( 99 99 //The spawnsource seed is no longer directly accessible by scripts. Use $component.seed, which will internally use the spawnsource seed if able. Note: An improvement is that .seed on objects without a spawnsource seed will now result in a value that differs between objects of the same macro, meaning it can now reliably be used for player property or job ships.// 100 100 ))) 101 -|(% colspan=" 4" %)(% colspan="4" %)279 +|(% colspan="3" %)(% colspan="3" %) 102 102 ((( 103 103 == 4.00 == 104 104 ))) ... ... @@ -111,18 +111,11 @@ 111 111 )))|(% colspan="1" %)(% colspan="1" %) 112 112 ((( 113 113 Controlled ship can change without a **gameplanchange-event** occurring. 114 -)))|(% colspan="1" %)(% colspan="1" %) 115 -((( 116 - 117 117 ))) 118 118 |(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 119 119 ((( 120 120 //Before 4.00 Beta 10 it was ensured that there is no direct transition between the 'cockpit ui mode' of one ship to another. Instead, it was always ensured that the UI first transitions into the firstperson mode and then back into the cockpit mode (controlling then the other ship). 121 -In order to support the new emergency eject feature which was added in 4.00 Beta 7, this assurance was dropped. As of 4.00 Beta 10 it is now possible that the ship the player controls can swap without the gameplanchange-event being risen which one could rely upon in previous versions. If your addon relied on the fact that the ship would not change without first going into first person mode, you will have to adjust your addon accordingly. 122 -// 123 -)))|(% colspan="1" %)(% colspan="1" %) 124 -((( 125 - 296 +In order to support the new emergency eject feature which was added in 4.00 Beta 7, this assurance was dropped. As of 4.00 Beta 10 it is now possible that the ship the player controls can swap without the gameplanchange-event being risen which one could rely upon in previous versions. If your addon relied on the fact that the ship would not change without first going into first person mode, you will have to adjust your addon accordingly.// 126 126 ))) 127 127 |((( 128 128 Scripts ... ... @@ -130,8 +130,6 @@ 130 130 4.00 Beta 7 131 131 )))|((( 132 132 Parameters of **<event_terraforming_project_succeeded>** and **<event_terraforming_project_failed>** changed 133 -)))|((( 134 - 135 135 ))) 136 136 |(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 137 137 ((( ... ... @@ -138,9 +138,6 @@ 138 138 //Old params: param = project ID, param2 = were there positive side-effects?, param3 = were there negative side-effects? 139 139 New params: param = project ID, param2 = [were there positive side-effects?, were there negative side-effects?], param3 = payout in Credits 140 140 Note: param3 only exists in <event_terraforming_project_succeeded> and not in <event_terraforming_project_failed>, but both now have the booleans in a list for consistency// 141 -)))|(% class="highlight-grey" data-highlight-colour="grey" %)(% class="highlight-grey" data-highlight-colour="grey" %) 142 -((( 143 - 144 144 ))) 145 145 |(% colspan="1" %)(% colspan="1" %) 146 146 ((( ... ... @@ -151,9 +151,6 @@ 151 151 )))|(% colspan="1" %)(% colspan="1" %) 152 152 ((( 153 153 **FFI:** GetFactionRelationStatus() handling for faction relation range [-20,-10] changed 154 -)))|(% colspan="1" %)(% colspan="1" %) 155 -((( 156 - 157 157 ))) 158 158 |(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 159 159 ((( ... ... @@ -160,11 +160,7 @@ 160 160 //In order to keep consistency with regards to the new behvior 'hostile' relation state and the older (deprecated) UI functions, the behavior of the deprecated GetFactionRelationStatus() function was changed according to the behavior of the GetRelationStatus()/GetRelationStatus2() functions which was done in the previous beta. 161 161 Factions with a relation rating between -20 and -10 will now report a relation status of 'neutral' (aka: 1) instead of 'hostile'/'enemy' (aka: 0).// 162 162 163 -//If you rely on a handling where these factions are treated like enemies, please use the new GetFactionRelationStatus2() function instead. 164 -// 165 -)))|(% colspan="1" %)(% colspan="1" %) 166 -((( 167 - 326 +//If you rely on a handling where these factions are treated like enemies, please use the new GetFactionRelationStatus2() function instead.// 168 168 ))) 169 169 |(% colspan="1" %)(% colspan="1" %) 170 170 ((( ... ... @@ -175,9 +175,6 @@ 175 175 )))|(% colspan="1" %)(% colspan="1" %) 176 176 ((( 177 177 **FFI:** GetRelationStatus()/GetRelationStatus2() handling for objects in relation range [-25,-10] changed 178 -)))|(% colspan="1" %)(% colspan="1" %) 179 -((( 180 - 181 181 ))) 182 182 |(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 183 183 ((( ... ... @@ -184,9 +184,6 @@ 184 184 //4.00 Beta 5// //introduces a new 'hostile' relation status and the game now distinguishes between hostile and enemy relation states. Objects not yet 'hostile' with the player are now visualized differently and therefore distinguishable from real hostile ones. Because of that, several related changes were made for these objects to bring them more in line with how 'neutral' objects behave (f.e. no automatic attacking of these objects by the player property anymore, no target selection when targeting the closest enemy, etc.). To reflect this, these objects are now returning 1 (neutral) as the relation status by the GetRelationStatus()/GetRelationStatus2() functions.// 185 185 186 186 //If you rely on a handling where they are treated like enemies, please use the new GetRelationStatus3() //function which returns the new range for these objects: 1 (meaning 'enemy' (aka: not yet hostile) here with following relations having been shifted up). 187 -)))|(% colspan="1" %)(% colspan="1" %) 188 -((( 189 - 190 190 ))) 191 191 |((( 192 192 Parameters ... ... @@ -194,10 +194,8 @@ 194 194 4.00 Beta 1 195 195 )))|((( 196 196 **requiresconstructionvessel** parameter moved 197 -)))|((( 198 - 199 199 ))) 200 -|(% class="highlight-grey" colspan=" 4" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="4" data-highlight-colour="grey" %)351 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 201 201 ((( 202 202 //The 'requiresconstructionvessel' attribute has been moved from the 'recycling' node itself, to the new 'station' subnode.// 203 203 ))) ... ... @@ -207,17 +207,12 @@ 207 207 4.00 Beta 1 208 208 )))|((( 209 209 Changed behaviour of **gatedistance** script property 210 -)))|((( 211 - 212 212 ))) 213 213 |(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 214 214 ((( 215 215 //The 'gatedistance' script property now minimizes the number of gate jumps instead of counting the number gate jumps in the fastest route.// 216 -)))|(% class="highlight-grey" data-highlight-colour="grey" %)(% class="highlight-grey" data-highlight-colour="grey" %) 217 -((( 218 - 219 219 ))) 220 -|(% colspan=" 4" %)(% colspan="4" %)366 +|(% colspan="3" %)(% colspan="3" %) 221 221 ((( 222 222 == 3.30 == 223 223 ))) ... ... @@ -226,16 +226,13 @@ 226 226 )))|((( 227 227 3.30 Beta 3 228 228 )))|((( 229 -**FFI: **Removed** (% style="color: rgb(0,0,0);" %)GetMissionLimit() (%%)**(% style="color: rgb(0,0,0);" %)and** **(% style="color: rgb(0, 0, 0); color: rgb(0, 0, 0)" %)**IsMissionLimit**(%%)**Enabled()** 230 -)))|(% colspan="1" %)(% colspan="1" %) 231 -((( 232 - 375 +**FFI: **Removed** (% style="color:#000000" %)GetMissionLimit() (%%)**(% style="color:#000000" %)and** IsMissionLimit**(%%)**Enabled()** 233 233 ))) 234 -|(% class="highlight-grey" colspan=" 4" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="4" data-highlight-colour="grey" %)377 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 235 235 ((( 236 -//These mission limit-related functions (added in 3.30 Beta 1 and 2) are replaced with FFI (% style="color: rgb(0,0,0);" %)IsMissionLimit(%%)Reach(% style="color:rgb(0,0,0);" %)ed()//379 +//These mission limit-related functions (added in 3.30 Beta 1 and 2) are replaced with FFI (% style="color:#000000" %)IsMissionLimit(%%)Reach(% style="color:#000000" %)ed()// 237 237 ))) 238 -|(% colspan=" 4" %)(% colspan="4" %)381 +|(% colspan="3" %)(% colspan="3" %) 239 239 ((( 240 240 == 3.20 == 241 241 ))) ... ... @@ -245,11 +245,8 @@ 245 245 3.20 Beta 1 246 246 )))|((( 247 247 Parameters of **<event_player_attacked_object/>** and **<event_object_attacked_object/>** changed 248 -)))|(% colspan="1" %)(% colspan="1" %) 249 -((( 250 - 251 251 ))) 252 -|(% class="highlight-grey" colspan=" 4" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="4" data-highlight-colour="grey" %)392 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 253 253 ((( 254 254 //Old params: param = attacked object, param2 = attack method, param3 = attacked component// 255 255 //New params: param = attacked object, param2 = attack method, param3 = attack component detail list: [attacked component, attacking weapon] ... ... @@ -264,11 +264,8 @@ 264 264 )))|(% colspan="1" %)(% colspan="1" %) 265 265 ((( 266 266 Removed script property $trade.**restriction.faction** 267 -)))|(% colspan="1" %)(% colspan="1" %) 268 -((( 269 - 270 270 ))) 271 -|(% class="highlight-grey" colspan=" 4" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="4" data-highlight-colour="grey" %)408 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 272 272 ((( 273 273 //$trade.restriction.faction has been replaced with $trade.restriction.factions, which returns a list of factions.// 274 274 ))) ... ... @@ -278,15 +278,12 @@ 278 278 3.20 Beta 1 279 279 )))|((( 280 280 **Lua**: **GetTradeRestrictions()**, **ToggleFactionTradeRestriction()** and **ToggleFactionTradeWareOverride()** are now obsolete! 281 -)))|(% colspan="1" %)(% colspan="1" %) 282 -((( 283 - 284 284 ))) 285 -|(% class="highlight-grey" colspan=" 4" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="4" data-highlight-colour="grey" %)419 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 286 286 ((( 287 287 //With the addition of the Trade Rule feature the given functions are obsolete and do not function anymore. This set of functions will return dummy values to avoid breaking scripts. Use GetAllTradeRules(), GetContainerTradeRuleID(), SetContainerTradeRule() and similar trade rule functions as replacement.// 288 288 ))) 289 -|(% colspan=" 4" %)(% colspan="4" %)423 +|(% colspan="3" %)(% colspan="3" %) 290 290 ((( 291 291 == 3.10 == 292 292 ))) ... ... @@ -299,15 +299,12 @@ 299 299 )))|(% colspan="1" %)(% colspan="1" %) 300 300 ((( 301 301 Removed script action **<add_build/>** 302 -)))|(% colspan="1" %)(% colspan="1" %) 303 -((( 304 - 305 305 ))) 306 -|(% class="highlight-grey" colspan=" 4" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="4" data-highlight-colour="grey" %)437 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 307 307 ((( 308 308 //Removed <add_build/> action which was no longer needed and would result in builds being added in unsupported ways. Use other <add_build_xxx/> actions.// 309 309 ))) 310 -|(% colspan=" 4" %)(% colspan="4" %)441 +|(% colspan="3" %)(% colspan="3" %) 311 311 ((( 312 312 == 3.00 == 313 313 ))) ... ... @@ -320,11 +320,8 @@ 320 320 )))|(% colspan="1" %)(% colspan="1" %) 321 321 ((( 322 322 Changed behaviour of script action **<get_suitable_job/>** 323 -)))|(% colspan="1" %)(% colspan="1" %) 324 -((( 325 - 326 326 ))) 327 -|(% class="highlight-grey" colspan=" 4" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="4" data-highlight-colour="grey" %)455 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 328 328 ((( 329 329 //<get_suitable_job/> previously did not respect job quotas or the current number of job ships. It now does, only returning job IDs which are not exceeding the maxgalaxy quota. Using 'exceedquota' allows the action to behave as before.// 330 330 ))) ... ... @@ -337,11 +337,8 @@ 337 337 )))|(% colspan="1" %)(% colspan="1" %) 338 338 ((( 339 339 Changed behaviour of script action **<get_ware_definition/>** 340 -)))|(% colspan="1" %)(% colspan="1" %) 341 -((( 342 - 343 343 ))) 344 -|(% class="highlight-grey" colspan=" 4" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="4" data-highlight-colour="grey" %)469 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 345 345 ((( 346 346 //<get_ware_definition/> previously filtered for equipment wares by default. This is now not the case and existing cases now use flags="equipment". Additional filter attributes for group and tags has also been added.// 347 347 ))) ... ... @@ -354,13 +354,10 @@ 354 354 )))|(% colspan="1" %)(% colspan="1" %) 355 355 ((( 356 356 Renamed all files in the **md**, ui, and **cutscenes** folders to lower-case 357 -)))|(% colspan="1" %)(% colspan="1" %) 358 -((( 359 - 360 360 ))) 361 -|(% class="highlight-grey" colspan=" 4" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="4" data-highlight-colour="grey" %)483 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 362 362 ((( 363 -//All MD, UI, and cutscene files have been renamed as lower-case. For most users this should have no effect since files packed in catalogs are essentially case-insensitive. However, this change can affect users on Linux systems when running a mod that contains single files instead of a catalog, and/or when playing with unpacked base game files//. If your mod has XML patch files that are not packed in a catalog, the filenames must be lower-case to match the filenames in the base game. (For info on using mod catalogs, see the Readme of the X Catalog Tool.) \\485 +//All MD, UI, and cutscene files have been renamed as lower-case. For most users this should have no effect since files packed in catalogs are essentially case-insensitive. However, this change can affect users on Linux systems when running a mod that contains single files instead of a catalog, and/or when playing with unpacked base game files//. If your mod has XML patch files that are not packed in a catalog, the filenames must be lower-case to match the filenames in the base game. (For info on using mod catalogs, see the Readme of the X Catalog Tool.) 364 364 365 365 //Note that this change has no effect on the actual content of scripts or cutscenes. The MD script/cutscene names are stored in the files, regardless of the filenames, so that references to them remain unchanged (e.g., "md.Setup.Start" references a cue in setup.xml).// 366 366 ))) ... ... @@ -373,11 +373,8 @@ 373 373 )))|(% colspan="1" %)(% colspan="1" %) 374 374 ((( 375 375 Adjustments of some MD library cues in the base game to change their usage from **<include_actions>** to <run_actions> 376 -)))|(% colspan="1" %)(% colspan="1" %) 377 -((( 378 - 379 379 ))) 380 -|(% class="highlight-grey" colspan=" 4" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="4" data-highlight-colour="grey" %)499 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 381 381 ((( 382 382 //Some MD library cues in the base game that were previously used with <include_actions> have been adjusted, so they must now be used with the new MD action <run_actions> instead. Mods that use such a library with <include_actions> will have to switch to <run_actions> as well. A list of affected libraries is not provided here. Note: Additional library cues may be adjusted in future builds without further warning.// 383 383 ))) ... ... @@ -390,11 +390,8 @@ 390 390 )))|(% colspan="1" %)(% colspan="1" %) 391 391 ((( 392 392 Changes to $dockingbay.**todockpos** and $dockingbay.**launchpos** 393 -)))|(% colspan="1" %)(% colspan="1" %) 394 -((( 395 - 396 396 ))) 397 -|(% class="highlight-grey" colspan=" 4" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="4" data-highlight-colour="grey" %)513 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 398 398 ((( 399 399 //Before the change, positions are relative to $dockingbay.parent. 400 400 After the change, positions are relative to $dockingbay as specified in the documentation.// ... ... @@ -408,11 +408,8 @@ 408 408 )))|(% colspan="1" %)(% colspan="1" %) 409 409 ((( 410 410 Support for entity flag "**skillsvisible**" dropped 411 -)))|(% colspan="1" %)(% colspan="1" %) 412 -((( 413 - 414 414 ))) 415 -|(% class="highlight-grey" colspan=" 4" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="4" data-highlight-colour="grey" %)528 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 416 416 ((( 417 417 //Entity skills are always visible; that flag was a leftover from XR. We removed support for the script property .skillsvisible, the attribute "skillsvisible" of <set_entity_traits> and <set_npc_template_traits>, and the parameter "skillsvisible" of Lua function GetComponentData().// 418 418 ))) ... ... @@ -422,11 +422,8 @@ 422 422 3.0 Beta 2 423 423 )))|((( 424 424 Changes to **<event_object_changed_owner>** and added **<event_object_changed_true_owner>**. 425 -)))|(% colspan="1" %)(% colspan="1" %) 426 -((( 427 - 428 428 ))) 429 -|(% class="highlight-grey" colspan=" 4" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="4" data-highlight-colour="grey" %)539 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 430 430 ((( 431 431 //Before 3.0 Beta 2 there was just a single <event_object//_changed_owner> condition. This condition was triggered in multiple cases when an owner change occurred. However, the exact cases were inconsistent and also the event could have been triggered w/o an effective owner change having been applied. 432 432 3.0 Beta 2 fixes these inconsistencies and ensures that the event is only fired, if the "effective" component owner of the object changed. To handle cases where the script actually needs to be informed if the "true" owner of a component was changed (i.e. not taking the cover faction into account) a new <event_object_changed_true_owner> was introduced. ... ... @@ -442,11 +442,8 @@ 442 442 )))|(% colspan="1" %)(% colspan="1" %) 443 443 ((( 444 444 **MissionBoard** support dropped 445 -)))|(% colspan="1" %)(% colspan="1" %) 446 -((( 447 - 448 448 ))) 449 -|(% class="highlight-grey" colspan=" 4" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="4" data-highlight-colour="grey" %)556 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 450 450 ((( 451 451 //MissionBoards was a dummy asset type which was only used during early development and never meant to be shipped in the released version. If any mod tried to make use of this asset type, undefined behaviour would occur. Therefore we cleaned things up in 3.0 Beta 1 including deprecating/removing any related UI/script function.// 452 452 ))) ... ... @@ -456,11 +456,8 @@ 456 456 3.0 Beta 1 457 457 )))|((( 458 458 By default, **job/god entries** now only spawn objects in space added by the extension in which they are defined 459 -)))|(% colspan="1" %)(% colspan="1" %) 460 -((( 461 - 462 462 ))) 463 -|(% class="highlight-grey" colspan=" 4" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="4" data-highlight-colour="grey" %)567 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 464 464 ((( 465 465 //To better support extensions which add to the base game map, a job/god entry now defaults to only spawning objects in areas of the map that are added by the extension in which that entry is defined. You can override this behaviour by adding a matchextension="false" attribute to the job/god entry definition. This allows the entry to spawn objects anywhere that matches the entry's other criteria.// 466 466 ))) ... ... @@ -473,11 +473,8 @@ 473 473 )))|(% colspan="1" %)(% colspan="1" %) 474 474 ((( 475 475 Script action **<add_actor_to_room/> **attribute **'room'** renamed to **'object'** 476 -)))|(% colspan="1" %)(% colspan="1" %) 477 -((( 478 - 479 479 ))) 480 -|(% class="highlight-grey" colspan=" 4" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="4" data-highlight-colour="grey" %)581 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 481 481 ((( 482 482 //Due to engine changes, script action <add_actor_to_room/> has had the attribute 'room' changed to 'object', which is more accurate. Most likely requires a 'position' if a slot is not provided.// 483 483 ))) ... ... @@ -490,11 +490,8 @@ 490 490 )))|(% colspan="1" %)(% colspan="1" %) 491 491 ((( 492 492 Script action **<set_doors_locked/>** attribute **'group'** changed 493 -)))|(% colspan="1" %)(% colspan="1" %) 494 -((( 495 - 496 496 ))) 497 -|(% class="highlight-grey" colspan=" 4" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="4" data-highlight-colour="grey" %)595 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 498 498 ((( 499 499 //The 'group' attribute of <set_doors_locked/> can no longer be a list. It must be a single tag value. Previously, a list containing one tag was accepted, which was redundant.// 500 500 ))) ... ... @@ -507,11 +507,8 @@ 507 507 )))|(% colspan="1" %)(% colspan="1" %) 508 508 ((( 509 509 Script conditions **<event_hack_*/>** and **<event_controlpanel_hack_*/>** removed 510 -)))|(% colspan="1" %)(% colspan="1" %) 511 -((( 512 - 513 513 ))) 514 -|(% class="highlight-grey" colspan=" 4" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="4" data-highlight-colour="grey" %)609 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 515 515 ((( 516 516 //These events were never triggered, with the exception of <event_hack_started/> on the player entity for instant control panel hacks. Use <event_player_hacked_object> instead.// 517 517 ))) ... ... @@ -524,11 +524,8 @@ 524 524 )))|(% colspan="1" %)(% colspan="1" %) 525 525 ((( 526 526 Script actions **<set_hack_target/>** and **<abort_hack/>** removed 527 -)))|(% colspan="1" %)(% colspan="1" %) 528 -((( 529 - 530 530 ))) 531 -|(% class="highlight-grey" colspan=" 4" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="4" data-highlight-colour="grey" %)623 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 532 532 ((( 533 533 //These actions had no effect and were removed.// 534 534 ))) ... ... @@ -541,11 +541,8 @@ 541 541 )))|(% colspan="1" %)(% colspan="1" %) 542 542 ((( 543 543 **<setup_conversation_minigame/>** script action removed 544 -)))|(% colspan="1" %)(% colspan="1" %) 545 -((( 546 - 547 547 ))) 548 -|(% class="highlight-grey" colspan=" 4" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="4" data-highlight-colour="grey" %)637 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 549 549 ((( 550 550 //The script action was a leftover from the XR era and was never supported in X4 and couldn't be used in a meaningful way. It was therefore decided to better drop it altogether as it's not expected having been used by any mods.// 551 551 ))) ... ... @@ -558,11 +558,8 @@ 558 558 )))|(% colspan="1" %)(% colspan="1" %) 559 559 ((( 560 560 <add_player_choice_*> **confidence** attribute removed 561 -)))|(% colspan="1" %)(% colspan="1" %) 562 -((( 563 - 564 564 ))) 565 -|(% class="highlight-grey" colspan=" 4" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="4" data-highlight-colour="grey" %)651 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 566 566 ((( 567 567 //The default confidence of player options is another leftover from the XR era and had no effect in X4.// 568 568 ))) ... ... @@ -575,11 +575,8 @@ 575 575 )))|(% colspan="1" %)(% colspan="1" %) 576 576 ((( 577 577 **<hack_via_control_panel/>** script action removed 578 -)))|(% colspan="1" %)(% colspan="1" %) 579 -((( 580 - 581 581 ))) 582 -|(% class="highlight-grey" colspan=" 4" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="4" data-highlight-colour="grey" %)665 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 583 583 ((( 584 584 //Unused script action <hack_via_control_panel/> was removed.// 585 585 ))) ... ... @@ -592,11 +592,8 @@ 592 592 )))|(% colspan="1" %)(% colspan="1" %) 593 593 ((( 594 594 **Lua: **GetMiniGameCursorPosition() removed 595 -)))|(% colspan="1" %)(% colspan="1" %) 596 -((( 597 - 598 598 ))) 599 -|(% class="highlight-grey" colspan=" 4" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="4" data-highlight-colour="grey" %)679 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 600 600 ((( 601 601 //GetMiniGameCursorPosition() was a left over from the XR era and never supposed to be shipped with X4. The function practically always returned 0 and hence we don't expect the removal of this obsolete function causing any actual mod to break.// 602 602 ))) ... ... @@ -606,11 +606,8 @@ 606 606 3.0 Beta 1 607 607 )))|((( 608 608 **FFI: **GetLocalizedInteractiveNotificationKey can return icon placeholders 609 -)))|(% colspan="1" %)(% colspan="1" %) 610 -((( 611 - 612 612 ))) 613 -|(% class="highlight-grey" colspan=" 4" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="4" data-highlight-colour="grey" %)690 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 614 614 ((( 615 615 //In 3.0 Beta 1 we added support to display icons for keyboard bindings, if an icon is available for the specified keys. This results in GetLocalizedInteractiveNotificationKey() potentially returning a different text now if such an icon is assigned to the mapped key/button.// 616 616 ))) ... ... @@ -623,11 +623,8 @@ 623 623 )))|(% colspan="1" %)(% colspan="1" %) 624 624 ((( 625 625 **FFI: **UIWeaponMod returned by GetInstalledWeaponMod() now includes property SurfaceElementFactor 626 -)))|(% colspan="1" %)(% colspan="1" %) 627 -((( 628 - 629 629 ))) 630 -|(% class="highlight-grey" colspan=" 4" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="4" data-highlight-colour="grey" %)704 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 631 631 ((( 632 632 //In 3.0 Beta 1 we added support for a new weapon mod property "SurfaceElementFactor" to allow weapons to deal increased damage to surface elements such as Shield Generators, Turrets or Engines.// 633 633 ))) ... ... @@ -640,11 +640,8 @@ 640 640 )))|(% colspan="1" %)(% colspan="1" %) 641 641 ((( 642 642 **$ware.illegal** updated 643 -)))|(% colspan="1" %)(% colspan="1" %) 644 -((( 645 - 646 646 ))) 647 -|(% class="highlight-grey" colspan=" 4" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="4" data-highlight-colour="grey" %)718 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 648 648 ((( 649 649 //$ware.illegal used to return true if the specified ware has the 'illegal' tag which is no longer used.// 650 650 //It now returns true if $ware is illegal to any faction in the game.// ... ... @@ -658,11 +658,8 @@ 658 658 )))|(% colspan="1" %)(% colspan="1" %) 659 659 ((( 660 660 MD script **RML_Flight_Along_Path** removed 661 -)))|(% colspan="1" %)(% colspan="1" %) 662 -((( 663 - 664 664 ))) 665 -|(% class="highlight-grey" colspan=" 4" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="4" data-highlight-colour="grey" %)733 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 666 666 ((( 667 667 //The MD script RML_Flight_Along_Path was not referened and was removed.// 668 668 ))) ... ... @@ -675,11 +675,8 @@ 675 675 )))|(% colspan="1" %)(% colspan="1" %) 676 676 ((( 677 677 parameters of **<event_venture_mission_completed/>** changed 678 -)))|(% colspan="1" %)(% colspan="1" %) 679 -((( 680 - 681 681 ))) 682 -|(% class="highlight-grey" colspan=" 4" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="4" data-highlight-colour="grey" %)747 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 683 683 ((( 684 684 //old params: param = venture details, param2 = ships involved, param3 = duration// 685 685 //new params: param = venture detail list: [mission name, mission type], param2 = list of ships involved, param3 = duration// ... ... @@ -691,11 +691,8 @@ 691 691 )))|((( 692 692 **<set_object_wing_name/>** removed, 693 693 **<set_object_fleet_name/>** added 694 -)))|(% colspan="1" %)(% colspan="1" %) 695 -((( 696 - 697 697 ))) 698 -|(% class="highlight-grey" colspan=" 4" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="4" data-highlight-colour="grey" %)760 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 699 699 ((( 700 700 //The common action <set_object_wing_name/> has been replaced with <set_object_fleet_name/>// 701 701 ))) ... ... @@ -706,15 +706,12 @@ 706 706 )))|((( 707 707 **$controllable.wing.*** removed, 708 708 **$controllable.fleet.*** added 709 -)))|(% colspan="1" %)(% colspan="1" %) 710 -((( 711 - 712 712 ))) 713 -|(% class="highlight-grey" colspan=" 4" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="4" data-highlight-colour="grey" %)772 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 714 714 ((( 715 715 $controllable.wing.name, $controllable.wing.iscommander, and $controllable.wing.commander have been replaced with $controllable.fleet.name, $controllable.fleet.iscommander, and $controllable.fleet.commander 716 716 ))) 717 -|(% colspan=" 4" %)(% colspan="4" %)776 +|(% colspan="3" %)(% colspan="3" %) 718 718 ((( 719 719 == 2.60 == 720 720 ))) ... ... @@ -724,11 +724,8 @@ 724 724 2.60 Beta 1 725 725 )))|((( 726 726 '**checkoperational**' filter behaviour changed 727 -)))|(% colspan="1" %)(% colspan="1" %) 728 -((( 729 - 730 730 ))) 731 -|(% class="highlight-grey" colspan=" 4" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="4" data-highlight-colour="grey" %)787 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 732 732 ((( 733 733 //Actions and conditions which use the 'checkoperational' filter now behave differently. Instead of changing how 'class' and 'exactclass' behave, checkoperational == true adds an additional filter for the components being of state operational, equivalent to state="componentstate.operational". This is implicitly enabled in action elements (e.g. <find_.../>) or condition elements (e.g. <count_...>), meaning that find_ship will only find operational ships. Using such actions/conditions with checkoperational="false" will include non-operational components such as wrecked and constructions. Existing uses may find that results now exclude non-operational components.// 734 734 ... ... @@ -740,15 +740,12 @@ 740 740 2.60 Beta 1 741 741 )))|((( 742 742 $container.**supplyresources** behavior changed 743 -)))|(% colspan="1" %)(% colspan="1" %) 744 -((( 745 - 746 746 ))) 747 -|(% class="highlight-grey" colspan=" 4" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="4" data-highlight-colour="grey" %)800 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 748 748 ((( 749 749 //The script keyword $container.supplyresources now includes reserved wares.// 750 750 ))) 751 -|(% colspan=" 4" %)(% colspan="4" %)804 +|(% colspan="3" %)(% colspan="3" %) 752 752 ((( 753 753 == 2.20 == 754 754 ))) ... ... @@ -761,17 +761,13 @@ 761 761 )))|(% colspan="1" %)(% colspan="1" %) 762 762 ((( 763 763 **Lua: GetControllerInfo()** returned mouseSteering/mouseCursor values are undefined. 764 -)))|(% colspan="1" %)(% colspan="1" %) 765 -((( 766 - 767 767 ))) 768 -|(% class="highlight-grey" colspan=" 4" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="4" data-highlight-colour="grey" %)818 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 769 769 ((( 770 770 //2.20 Beta 3 introduced the new direct mouse steering mode. The mode was however not integrated as a first level mode and hence GetControllerInfo() returned the "gamepad" mode while direct mouse steering was active. 771 771 In 2.20 Beta 4 we improved the situation slightly so that a call to GetControllerInfo() will return either "mouseCursor" or "mouseSteering" in any of the 3 mouse modes.// 772 772 773 -//It's a pending change to ensure that the returned mode is more reasonable in an upcoming patch. So be aware that another breaking change might be introduced at some point. 774 -// 823 +//It's a pending change to ensure that the returned mode is more reasonable in an upcoming patch. So be aware that another breaking change might be introduced at some point.// 775 775 ))) 776 776 |(% colspan="1" %)(% colspan="1" %) 777 777 ((( ... ... @@ -782,15 +782,12 @@ 782 782 )))|(% colspan="1" %)(% colspan="1" %) 783 783 ((( 784 784 Attribute for build related conditions e.g. **<event_build_finished/>** renamed from 'buildmodule' to 'buildprocessor' 785 -)))|(% colspan="1" %)(% colspan="1" %) 786 -((( 787 - 788 788 ))) 789 -|(% class="highlight-grey" colspan=" 4" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="4" data-highlight-colour="grey" %)835 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 790 790 ((( 791 791 //The underlying behaviour remains the same in that it involves the buildprocessor, not the buildmodule. The attribute name has simply been corrected.// 792 792 ))) 793 -|(% colspan=" 4" %)(% colspan="4" %)839 +|(% colspan="3" %)(% colspan="3" %) 794 794 ((( 795 795 == 2.00 == 796 796 ))) ... ... @@ -803,11 +803,8 @@ 803 803 )))|(% colspan="1" %)(% colspan="1" %) 804 804 ((( 805 805 **<event_build_finished/> **param2 now returns null instead of a construction sequence 806 -)))|(% colspan="1" %)(% colspan="1" %) 807 -((( 808 - 809 809 ))) 810 -|(% class="highlight-grey" colspan=" 4" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="4" data-highlight-colour="grey" %)853 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 811 811 ((( 812 812 //The construction sequence which was finished should now be accessed via the buildtask provided via param3.// 813 813 ))) ... ... @@ -820,11 +820,8 @@ 820 820 )))|(% colspan="1" %)(% colspan="1" %) 821 821 ((( 822 822 **param.boarding.{...}** strength parameters removed 823 -)))|(% colspan="1" %)(% colspan="1" %) 824 -((( 825 - 826 826 ))) 827 -|(% class="highlight-grey" colspan=" 4" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="4" data-highlight-colour="grey" %)867 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 828 828 ((( 829 829 //The 'recruitstrength', 'veteranstrength' and 'elitestrength' script parameters were no longer required for balancing the boarding gameplay, and were removed.// 830 830 ))) ... ... @@ -837,11 +837,8 @@ 837 837 )))|(% colspan="1" %)(% colspan="1" %) 838 838 ((( 839 839 **$defensible.boardee/$defensible.boarder** and **<set_object_boarder/>/<remove_object_boarder/>** removed 840 -)))|(% colspan="1" %)(% colspan="1" %) 841 -((( 842 - 843 843 ))) 844 -|(% class="highlight-grey" colspan=" 4" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="4" data-highlight-colour="grey" %)881 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 845 845 ((( 846 846 //Due to changes to boarding in X4, the boarding connections accessed by these script properties and actions became redundent and thus, removed. Any connections set by these actions in a savegame will not survive loading.// 847 847 ))) ... ... @@ -851,11 +851,8 @@ 851 851 2.00 Beta 1 852 852 )))|((( 853 853 **FFI: GetUpgradeSlotCurrentComponent()/GetUpgradeSlotGroup()** works on non-operationals 854 -)))|(% colspan="1" %)(% colspan="1" %) 855 -((( 856 - 857 857 ))) 858 -|(% class="highlight-grey" colspan=" 4" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="4" data-highlight-colour="grey" %)892 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 859 859 ((( 860 860 //Before 2.0 Beta 1 using GetUpgradeSlotCurrentComponent() or GetUpgradeSlotGroup() only performed on operational objects (i.e. not wrecked objects or objects under construction). Since this is inconsistent with the rest of the UI functions, this was considered a bug and fixed in 2.0 Beta 1. If you require the old behavior, use the FFI function: IsComponentOperational() to check the passed object's state before making the call.// 861 861 ))) ... ... @@ -865,11 +865,8 @@ 865 865 2.00 Beta 1 866 866 )))|((( 867 867 **FFI: SetFormationShape()** no longer indicates an error upon certain error cases 868 -)))|(% colspan="1" %)(% colspan="1" %) 869 -((( 870 - 871 871 ))) 872 -|(% class="highlight-grey" colspan=" 4" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="4" data-highlight-colour="grey" %)903 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 873 873 ((( 874 874 //Before 2.0 Beta 1 a call to SetFormationShape() indicated an error state to the caller in certain cases where setting a formation shape (potentially) failed. Due to a design flaw in the handling of formations, this however doesn't do any good, since the function by itself doesn't really set the formation shape in all cases. On top of that the call can fail at random. Hence, at the moment an indication of an error case that setting a formation potentially fails is no good to the caller and he has no means to distinguish that case from a real error case.// 875 875 //Therefore, in 2.0 Beta 1 we drop the error indication in case of an attempt to set the formation fails. We are currently working on a better solution to the underlying problem and hope to have it ready as part of a following beta.// ... ... @@ -880,11 +880,8 @@ 880 880 2.00 Beta 1 881 881 )))|((( 882 882 **<create_formation/>** now requires the attributes: 'leader' and 'follower'. Attribute 'object' is now deprecated. 883 -)))|(% colspan="1" %)(% colspan="1" %) 884 -((( 885 - 886 886 ))) 887 -|(% class="highlight-grey" colspan=" 4" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="4" data-highlight-colour="grey" %)915 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 888 888 ((( 889 889 //This now enforces a leader and at least one follower in order to create or change a formation. Former implementation made it possible to create formations without any followers which led to issues.// 890 890 ))) ... ... @@ -894,11 +894,8 @@ 894 894 2.00 Beta 1 895 895 )))|((( 896 896 **<event_player_changed_target/>** now fires and returns null if the player deselects a target. 897 -)))|(% colspan="1" %)(% colspan="1" %) 898 -((( 899 - 900 900 ))) 901 -|(% class="highlight-grey" colspan=" 4" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="4" data-highlight-colour="grey" %)926 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 902 902 ((( 903 903 //For prior behavior, check for event.param being non-null.// 904 904 ))) ... ... @@ -908,11 +908,8 @@ 908 908 2.00 Beta 1 909 909 )))|((( 910 910 **<shoot/>/<shoot_at/>** attribute changes. 911 -)))|(% colspan="1" %)(% colspan="1" %) 912 -((( 913 - 914 914 ))) 915 -|(% class="highlight-grey" colspan=" 4" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="4" data-highlight-colour="grey" %)937 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 916 916 ((( 917 917 //Changed: Attribute "primary" is now optional and defines whether weapons from the ship's active primary weapon group will be fired. Defaults to true.// 918 918 //New attribute: "secondary" is an optional attribute that defines whether weapons from the ship's active secondary weapon group will be fired. Defaults to true.// ... ... @@ -925,12 +925,9 @@ 925 925 )))|((( 926 926 2.00 Beta 1 927 927 )))|((( 928 -**FFI: GetBuildTask()/GetNumBuildTasks()** got a new "buildmoduleid" parameter.(% class="confluenceTd" %) 929 -)))|(% colspan="1" %)(% colspan="1" %) 930 -((( 931 - 950 +**FFI: GetBuildTask()/GetNumBuildTasks()** got a new "buildmoduleid" parameter. 932 932 ))) 933 -|(% class="highlight-grey" colspan=" 4" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="4" data-highlight-colour="grey" %)952 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 934 934 ((( 935 935 //Added possibility to query build tasks of a certain buildmodule.// 936 936 ))) ... ... @@ -940,11 +940,8 @@ 940 940 2.00 Beta 1 941 941 )))|((( 942 942 **Lua:** **GetLibraryEntry()** retrieved a new "buildresources" field. 943 -)))|(% colspan="1" %)(% colspan="1" %) 944 -((( 945 - 946 946 ))) 947 -|(% class="highlight-grey" colspan=" 4" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="4" data-highlight-colour="grey" %)963 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 948 948 ((( 949 949 //Added list of resources a buildmodule needs to build.// 950 950 ))) ... ... @@ -953,12 +953,9 @@ 953 953 )))|((( 954 954 2.00 Beta 1 955 955 )))|((( 956 -(% style="color: rgb(0,0,0);" %)**Lua:**(% style="color: rgb(0, 0, 0); color: rgb(0, 0, 0)" %)** CalculateTotalHullFraction()**(% style="color: rgb(0,0,0);" %)** **(%%)was removed.(% style="color: rgb(0,0,0);" %) 957 -)))|(% colspan="1" %)(% colspan="1" %) 958 -((( 959 - 972 +(% style="color:#000000" %)**Lua: CalculateTotalHullFraction() **(%%)was removed.(% style="color:#000000" %) 960 960 ))) 961 -|(% class="highlight-grey" colspan=" 4" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="4" data-highlight-colour="grey" %)974 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 962 962 ((( 963 963 //Unused, derelict function from XR - use GetComponentData(..., "hullpercent") instead.// 964 964 ))) ... ... @@ -967,16 +967,13 @@ 967 967 )))|((( 968 968 2.00 Beta 1 969 969 )))|((( 970 -**FFI: (% style="color: rgb(0,0,0);" %)RequestDockAtReason()/(% style="color: rgb(0, 0, 0); color: rgb(0, 0, 0); color: rgb(0, 0, 0); color: rgb(0, 0, 0); color: rgb(0, 0, 0)" %)UndockPlayerShip()(%%) **changed their return values.(% style="color: rgb(0,0,0);" class="confluenceTd" %) 971 -)))|(% colspan="1" %)(% colspan="1" %) 972 -((( 973 - 983 +**FFI: (% style="color:#000000" %)RequestDockAtReason()/UndockPlayerShip()(%%) **changed their return values. 974 974 ))) 975 -|(% class="highlight-grey" colspan=" 4" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="4" data-highlight-colour="grey" %)985 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 976 976 ((( 977 977 //Changed return value type to const char* to better identify failure reasons in Lua script.// 978 978 ))) 979 -|(% colspan=" 4" %)(% colspan="4" %)989 +|(% colspan="3" %)(% colspan="3" %) 980 980 ((( 981 981 == 1.50 == 982 982 ))) ... ... @@ -985,12 +985,9 @@ 985 985 )))|((( 986 986 1.50 Beta 3 987 987 )))|((( 988 -**Lua: GetComponentData() **changed behavior of "docksizes" propertly.(% class="confluenceTd" %) 989 -)))|(% colspan="1" %)(% colspan="1" %) 990 -((( 991 - 998 +**Lua: GetComponentData() **changed behavior of "docksizes" property. 992 992 ))) 993 -|(% class="highlight-grey" colspan=" 4" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="4" data-highlight-colour="grey" %)1000 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 994 994 ((( 995 995 //The "docksizes" property no longer includes internal ship storage docks.// 996 996 ))) ... ... @@ -1000,11 +1000,8 @@ 1000 1000 1.50 Beta 2 1001 1001 )))|((( 1002 1002 **Meaning of "Shipyard"** was corrected throughout Lua/MD/AI scripts, so that Wharfs are not Shipyards (unlike in XR). 1003 -)))|(% colspan="1" %)(% colspan="1" %) 1004 -((( 1005 - 1006 1006 ))) 1007 -|(% class="highlight-grey" colspan=" 4" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="4" data-highlight-colour="grey" %)1011 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 1008 1008 ((( 1009 1009 //Shipyards (formerly also known as Capital Shipyards) can build capital ships, while Wharfs only build non-capital ships. To check whether a station is a Shipyard or a Wharf, check whether the station "can build ships".// 1010 1010 ... ... @@ -1017,12 +1017,9 @@ 1017 1017 )))|((( 1018 1018 1.50 Beta 2 1019 1019 )))|((( 1020 -**FFI: UpgradeGroupInfo **datatype was changed.(% class="confluenceTd" %) 1021 -)))|(% colspan="1" %)(% colspan="1" %) 1022 -((( 1023 - 1024 +**FFI: UpgradeGroupInfo **datatype was changed. 1024 1024 ))) 1025 -|(% class="highlight-grey" colspan=" 4" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="4" data-highlight-colour="grey" %)1026 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 1026 1026 ((( 1027 1027 //Added new "operational" field to retrieve information about number of operational upgrades in a group.// 1028 1028 ))) ... ... @@ -1035,14 +1035,10 @@ 1035 1035 )))|(% colspan="1" %)(% colspan="1" %) 1036 1036 ((( 1037 1037 **FFI: SetGuidance()** removed useinfopoint argument. 1038 -)))|(% colspan="1" %)(% colspan="1" %) 1039 -((( 1040 - 1041 1041 ))) 1042 -|(% class="highlight-grey" colspan=" 4" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="4" data-highlight-colour="grey" %)1040 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 1043 1043 ((( 1044 -//In X Rebirth "info points" existed (which were mainly used as interaction points to scan stations/access information about modules). These were removed in X4 but this left-over property here was missed to be removed in-time for release. It was therefore removed now in order to move towards a stable/clean UI API. 1045 -// 1042 +//In X Rebirth "info points" existed (which were mainly used as interaction points to scan stations/access information about modules). These were removed in X4 but this left-over property here was missed to be removed in-time for release. It was therefore removed now in order to move towards a stable/clean UI API.// 1046 1046 1047 1047 //The new function declaration is: void SetGuidance(UniverseID componentid, UIPosRot offset)// 1048 1048 ))) ... ... @@ -1051,16 +1051,13 @@ 1051 1051 )))|((( 1052 1052 1.50 Beta 1 1053 1053 )))|((( 1054 -**FFI: CancelConstruction() **changed its return value.(% class="confluenceTd" %) 1055 -)))|(% colspan="1" %)(% colspan="1" %) 1056 -((( 1057 - 1051 +**FFI: CancelConstruction() **changed its return value. 1058 1058 ))) 1059 -|(% class="highlight-grey" colspan=" 4" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="4" data-highlight-colour="grey" %)1053 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 1060 1060 ((( 1061 -(% style="color: rgb(0,0,0);" %)//CancelConstruction() now returns if the cancellation was successful. //1055 +(% style="color:#000000" %)//CancelConstruction() now returns if the cancellation was successful. // 1062 1062 ))) 1063 -|(% colspan=" 4" %)(% colspan="4" %)1057 +|(% colspan="3" %)(% colspan="3" %) 1064 1064 ((( 1065 1065 == 1.32 == 1066 1066 ))) ... ... @@ -1070,15 +1070,12 @@ 1070 1070 1.32 1071 1071 )))|((( 1072 1072 **Lua: GetComponentData() **removed the "nextdestname" property. 1073 -)))|(% colspan="1" %)(% colspan="1" %) 1074 -((( 1075 - 1076 1076 ))) 1077 -|(% class="highlight-grey" colspan=" 4" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="4" data-highlight-colour="grey" %)1068 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 1078 1078 ((( 1079 1079 //Instead of "nextdestname", use the properties "destination" or "destinationsector" to retrieve a destination component, then retrieve its "name" property.// 1080 1080 ))) 1081 -|(% colspan=" 4" %)(% colspan="4" %)1072 +|(% colspan="3" %)(% colspan="3" %) 1082 1082 ((( 1083 1083 == 1.20 == 1084 1084 ))) ... ... @@ -1087,12 +1087,9 @@ 1087 1087 )))|((( 1088 1088 1.20 1089 1089 )))|((( 1090 -**FFI: GetAAOption()** got a new "useconfig" parameter.(% class="confluenceTd" %) 1091 -)))|(% colspan="1" %)(% colspan="1" %) 1092 -((( 1093 - 1081 +**FFI: GetAAOption()** got a new "useconfig" parameter. 1094 1094 ))) 1095 -|(% class="highlight-grey" colspan=" 4" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="4" data-highlight-colour="grey" %)1083 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 1096 1096 ((( 1097 -//The AA setting was changed to check the new setting with the user. In order to restore the old setting (% style="color: rgb(0,0,0);" %)GetAAOption() gets the option to retrieve the config settings.//1085 +//The AA setting was changed to check the new setting with the user. In order to restore the old setting (% style="color:#000000" %)GetAAOption() gets the option to retrieve the config settings.// 1098 1098 )))
- Confluence.Code.ConfluencePageClass[0]
-
- id
-
... ... @@ -1,1 +1,1 @@ 1 - 1036126811 +78577854 - url
-
... ... @@ -1,1 +1,1 @@ 1 -https://www.egosoft.com:8444/confluence/wiki/spaces/X4WIKI/pages/ 103612681/Breaking Changes1 +https://www.egosoft.com:8444/confluence/wiki/spaces/X4WIKI/pages/78577854/Breaking Changes