Changes for page Breaking Changes

Last modified by Michael Baumgardt on 2026/04/17 12:03

From version 17.1
edited by stefan
on 2019/02/01 19:18
Change comment: give some details about the removal of the infopoint for modders not being familiar with XR
To version 30.1
edited by nick
on 2019/06/12 12:45
Change comment: documented $ware.illegal change

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -xwiki:XWiki.stefan
1 +xwiki:XWiki.nick
Content
... ... @@ -25,10 +25,129 @@
25 25  )))|=(((
26 26  Summary
27 27  )))
28 +|(% colspan="1" %)(% colspan="1" %)
29 +(((
30 +Scripts
31 +)))|(% colspan="1" %)(% colspan="1" %)
32 +(((
33 +3.0 Beta 1
34 +)))|(% colspan="1" %)(% colspan="1" %)
35 +(((
36 +$ware.illegal updated
37 +)))
38 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
39 +(((
40 +$ware.illegal used to return true if the specified ware has the 'illegal' tag which is no longer used.
41 +\\It now returns true if $ware is illegal to any faction in the game.
42 +)))
43 +|(% colspan="1" %)(% colspan="1" %)
44 +(((
45 +Scripts
46 +)))|(% colspan="1" %)(% colspan="1" %)
47 +(((
48 +3.0 Beta 1
49 +)))|(% colspan="1" %)(% colspan="1" %)
50 +(((
51 +'checkoperational' filter behaviour changed
52 +)))
53 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
54 +(((
55 +//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.//
56 +
57 +//Sub nodes such as match_child will have checkoperational default to false. Existing uses may find that results now include non-operational components.//
58 +)))
59 +|(% colspan="1" %)(% colspan="1" %)
60 +(((
61 +Scripts
62 +)))|(% colspan="1" %)(% colspan="1" %)
63 +(((
64 +3.0 Beta 1
65 +)))|(% colspan="1" %)(% colspan="1" %)
66 +(((
67 +MD script **RML_Flight_Along_Path** removed
68 +)))
69 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
70 +(((
71 +//The MD script RML_Flight_Along_Path was not referened and was removed.//
72 +)))
73 +|(% colspan="1" %)(% colspan="1" %)
74 +(((
75 +UI core
76 +)))|(% colspan="1" %)(% colspan="1" %)
77 +(((
78 +2.20 Beta 3/4
79 +)))|(% colspan="1" %)(% colspan="1" %)
80 +(((
81 +**Lua: GetControllerInfo()** returned mouseSteering/mouseCursor values are undefined.
82 +)))
83 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
84 +(((
85 +//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.
86 +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.//
87 +
88 +//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.
89 +//
90 +)))
91 +|(% colspan="1" %)(% colspan="1" %)
92 +(((
93 +Scripts
94 +)))|(% colspan="1" %)(% colspan="1" %)
95 +(((
96 +2.20 Beta 3
97 +)))|(% colspan="1" %)(% colspan="1" %)
98 +(((
99 +Attribute for build related conditions e.g. **<event_build_finished/>** renamed from 'buildmodule' to 'buildprocessor'
100 +)))
101 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
102 +(((
103 +//The underlying behaviour remains the same in that it involves the buildprocessor, not the buildmodule. The attribute name has simply been corrected.//
104 +)))
105 +|(% colspan="1" %)(% colspan="1" %)
106 +(((
107 +Scripts
108 +)))|(% colspan="1" %)(% colspan="1" %)
109 +(((
110 +2.00 Beta 1
111 +)))|(% colspan="1" %)(% colspan="1" %)
112 +(((
113 +**<event_build_finished/> **param2 now returns null instead of a construction sequence
114 +)))
115 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
116 +(((
117 +//The construction sequence which was finished should now be accessed via the buildtask provided via param3.//
118 +)))
119 +|(% colspan="1" %)(% colspan="1" %)
120 +(((
121 +Scripts
122 +)))|(% colspan="1" %)(% colspan="1" %)
123 +(((
124 +2.00 Beta 1
125 +)))|(% colspan="1" %)(% colspan="1" %)
126 +(((
127 +**param.boarding.{...}** strength parameters removed
128 +)))
129 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
130 +(((
131 +//The 'recruitstrength', 'veteranstrength' and 'elitestrength' script parameters were no longer required for balancing the boarding gameplay, and were removed.//
132 +)))
133 +|(% colspan="1" %)(% colspan="1" %)
134 +(((
135 +Scripts
136 +)))|(% colspan="1" %)(% colspan="1" %)
137 +(((
138 +2.00 Beta 1
139 +)))|(% colspan="1" %)(% colspan="1" %)
140 +(((
141 +**$defensible.boardee/$defensible.boarder** and **<set_object_boarder/>/<remove_object_boarder/>** removed
142 +)))
143 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
144 +(((
145 +//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.//
146 +)))
28 28  |(((
29 29  UI extensions
30 30  )))|(((
31 -2.0 Beta 1
150 +2.00 Beta 1
32 32  )))|(((
33 33  **FFI: GetUpgradeSlotCurrentComponent()/GetUpgradeSlotGroup()** works on non-operationals
34 34  )))
... ... @@ -39,7 +39,7 @@
39 39  |(((
40 40  UI extensions
41 41  )))|(((
42 -2.0 Beta 1
161 +2.00 Beta 1
43 43  )))|(((
44 44  **FFI: SetFormationShape()** no longer indicates an error upon certain error cases
45 45  )))
... ... @@ -51,7 +51,7 @@
51 51  |(((
52 52  Scripts
53 53  )))|(((
54 -2.0 Beta 1
173 +2.00 Beta 1
55 55  )))|(((
56 56  **<create_formation/>** now requires the attributes: 'leader' and 'follower'. Attribute 'object' is now deprecated.
57 57  )))
... ... @@ -62,7 +62,7 @@
62 62  |(((
63 63  Scripts
64 64  )))|(((
65 -2.0 Beta 1
184 +2.00 Beta 1
66 66  )))|(((
67 67  **<event_player_changed_target/>** now fires and returns null if the player deselects a target.
68 68  )))
... ... @@ -73,9 +73,9 @@
73 73  |(((
74 74  AI Scripts
75 75  )))|(((
76 -2.0 Beta 1
195 +2.00 Beta 1
77 77  )))|(((
78 -Attribute changes to **<shoot/>** and **<shoot_at/>**
197 +**<shoot/>/<shoot_at/>** attribute changes.
79 79  )))
80 80  |(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
81 81  (((
... ... @@ -86,11 +86,66 @@
86 86  //Corrects now-obsolete assumption that primary weapon groups only contain guns and secondary weapon groups only contain missile launchers.//
87 87  )))
88 88  |(((
208 +UI extensions
209 +)))|(((
210 +2.00 Beta 1
211 +)))|(((
212 +**FFI: GetBuildTask()/GetNumBuildTasks()** got a new "buildmoduleid" parameter.(% class="confluenceTd" %)
213 +)))
214 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
215 +(((
216 +//Added possibility to query build tasks of a certain buildmodule.//
217 +)))
218 +|(((
219 +UI extensions
220 +)))|(((
221 +2.00 Beta 1
222 +)))|(((
223 +**Lua:** **GetLibraryEntry()** retrieved a new "buildresources" field.
224 +)))
225 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
226 +(((
227 +//Added list of resources a buildmodule needs to build.//
228 +)))
229 +|(((
230 +UI extensions
231 +)))|(((
232 +2.00 Beta 1
233 +)))|(((
234 +(% 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);" %)
235 +)))
236 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
237 +(((
238 +//Unused, derelict function from XR - use GetComponentData(..., "hullpercent") instead.//
239 +)))
240 +|(((
241 +UI extensions
242 +)))|(((
243 +2.00 Beta 1
244 +)))|(((
245 +**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" %)
246 +)))
247 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
248 +(((
249 +//Changed return value type to const char* to better identify failure reasons in Lua script.//
250 +)))
251 +|(((
252 +UI extensions
253 +)))|(((
254 +1.50 Beta 3
255 +)))|(((
256 +**Lua: GetComponentData() **changed behavior of "docksizes" propertly.(% class="confluenceTd" %)
257 +)))
258 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
259 +(((
260 +//The "docksizes" property no longer includes internal ship storage docks.//
261 +)))
262 +|(((
89 89  All
90 90  )))|(((
91 91  1.50 Beta 2
92 92  )))|(((
93 -Corrected **meaning of "Shipyard"** throughout Lua/MD/AI scripts, so that Wharfs are not Shipyards (unlike in XR).
267 +**Meaning of "Shipyard"** was corrected throughout Lua/MD/AI scripts, so that Wharfs are not Shipyards (unlike in XR).
94 94  )))
95 95  |(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
96 96  (((
... ... @@ -100,6 +100,17 @@
100 100  //Lua / GetComponentData() properties: Removed "iscapitalshipyard", fixed "isshipyard", added "canbuildships", "iswharf", "isequipmentdock"//
101 101  //Scripts: Fixed property .isshipyard, added .iswharf (.canbuildships existed already)//
102 102  )))
277 +|(((
278 +UI extensions
279 +)))|(((
280 +1.50 Beta 2
281 +)))|(((
282 +**FFI: UpgradeGroupInfo **datatype was changed.(% class="confluenceTd" %)
283 +)))
284 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
285 +(((
286 +//Added new "operational" field to retrieve information about number of operational upgrades in a group.//
287 +)))
103 103  |(% colspan="1" %)(% colspan="1" %)
104 104  (((
105 105  UI extensions
... ... @@ -108,7 +108,7 @@
108 108  1.50 Beta 1
109 109  )))|(% colspan="1" %)(% colspan="1" %)
110 110  (((
111 -**FFI:** Removed **SetGuidance()** argument useinfopoint.
296 +**FFI: SetGuidance()** removed useinfopoint argument.
112 112  )))
113 113  |(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
114 114  (((
... ... @@ -120,11 +120,33 @@
120 120  |(((
121 121  UI extensions
122 122  )))|(((
308 +1.50 Beta 1
309 +)))|(((
310 +**FFI: CancelConstruction() **changed its return value.(% class="confluenceTd" %)
311 +)))
312 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
313 +(((
314 +(% style="color: rgb(0,0,0);" %)//CancelConstruction() now returns if the cancellation was successful. //
315 +)))
316 +|(((
317 +UI extensions
318 +)))|(((
123 123  1.32
124 124  )))|(((
125 -**Lua:** Removed **GetComponentData()** property "**nextdestname**".
321 +**Lua: GetComponentData() **removed the "nextdestname" property.
126 126  )))
127 127  |(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
128 128  (((
129 -//Instead of "nextdestname", use the GetComponentData() properties "destination" or "destinationsector" to retrieve a destination component, then retrieve its "name" property.//
325 +//Instead of "nextdestname", use the properties "destination" or "destinationsector" to retrieve a destination component, then retrieve its "name" property.//
130 130  )))
327 +|(((
328 +UI extensions
329 +)))|(((
330 +1.20
331 +)))|(((
332 +**FFI: GetAAOption()** got a new "useconfig" parameter.(% class="confluenceTd" %)
333 +)))
334 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
335 +(((
336 +//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.//
337 +)))
Confluence.Code.ConfluencePageClass[0]
id
... ... @@ -1,1 +1,1 @@
1 -78578134
1 +83460675
url
... ... @@ -1,1 +1,1 @@
1 -https://www.egosoft.com:8444/confluence/wiki/spaces/X4WIKI/pages/78578134/Breaking Changes
1 +https://www.egosoft.com:8444/confluence/wiki/spaces/X4WIKI/pages/83460675/Breaking Changes