Changes for page Breaking Changes

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

From version 39.1
edited by klaus
on 2019/09/11 11:23
Change comment: Moved checkoperational change to 2.60
To 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

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -xwiki:XWiki.klaus
1 +xwiki:XWiki.stefan
Content
... ... @@ -25,280 +25,10 @@
25 25  )))|=(((
26 26  Summary
27 27  )))
28 -|(% colspan="3" %)(% colspan="3" %)
29 -(((
30 -== 3.00 ==
31 -)))
32 -|(% colspan="1" %)(% colspan="1" %)
33 -(((
34 -Scripts
35 -)))|(% colspan="1" %)(% colspan="1" %)
36 -(((
37 -3.0 Beta 1
38 -)))|(% colspan="1" %)(% colspan="1" %)
39 -(((
40 -Script action **<add_actor_to_room/> **attribute **'room'** renamed to **'object'**
41 -)))
42 -|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
43 -(((
44 -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.
45 -)))
46 -|(% colspan="1" %)(% colspan="1" %)
47 -(((
48 -Scripts
49 -)))|(% colspan="1" %)(% colspan="1" %)
50 -(((
51 -3.0 Beta 1
52 -)))|(% colspan="1" %)(% colspan="1" %)
53 -(((
54 -Script action **<set_doors_locked/>** attribute **'group'** changed
55 -)))
56 -|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
57 -(((
58 -//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.//
59 -)))
60 -|(% colspan="1" %)(% colspan="1" %)
61 -(((
62 -Scripts
63 -)))|(% colspan="1" %)(% colspan="1" %)
64 -(((
65 -3.0 Beta 1
66 -)))|(% colspan="1" %)(% colspan="1" %)
67 -(((
68 -Script conditions **<event_hack_*/>** and **<event_controlpanel_hack_*/>** removed
69 -)))
70 -|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
71 -(((
72 -//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.//
73 -)))
74 -|(% colspan="1" %)(% colspan="1" %)
75 -(((
76 -Scripts
77 -)))|(% colspan="1" %)(% colspan="1" %)
78 -(((
79 -3.0 Beta 1
80 -)))|(% colspan="1" %)(% colspan="1" %)
81 -(((
82 -Script actions **<set_hack_target/>** and **<abort_hack/>** removed
83 -)))
84 -|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
85 -(((
86 -//These actions had no effect and were removed.//
87 -)))
88 -|(% colspan="1" %)(% colspan="1" %)
89 -(((
90 -Scripts
91 -)))|(% colspan="1" %)(% colspan="1" %)
92 -(((
93 -3.0 Beta 1
94 -)))|(% colspan="1" %)(% colspan="1" %)
95 -(((
96 -**<setup_conversation_minigame/>** script action removed
97 -)))
98 -|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
99 -(((
100 -//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.//
101 -)))
102 -|(% colspan="1" %)(% colspan="1" %)
103 -(((
104 -Scripts
105 -)))|(% colspan="1" %)(% colspan="1" %)
106 -(((
107 -3.0 Beta 1
108 -)))|(% colspan="1" %)(% colspan="1" %)
109 -(((
110 -<add_player_choice_*> **confidence** attribute removed
111 -)))
112 -|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
113 -(((
114 -//The default confidence of player options is another leftover from the XR era and had no effect in X4.//
115 -)))
116 -|(% colspan="1" %)(% colspan="1" %)
117 -(((
118 -Scripts
119 -)))|(% colspan="1" %)(% colspan="1" %)
120 -(((
121 -3.0 Beta 1
122 -)))|(% colspan="1" %)(% colspan="1" %)
123 -(((
124 -**<hack_via_control_panel/>** script action removed
125 -)))
126 -|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
127 -(((
128 -//Unused script action <hack_via_control_panel/> was removed.//
129 -)))
130 -|(% colspan="1" %)(% colspan="1" %)
131 -(((
132 -UI core
133 -)))|(% colspan="1" %)(% colspan="1" %)
134 -(((
135 -3.0 Beta 1
136 -)))|(% colspan="1" %)(% colspan="1" %)
137 -(((
138 -**Lua: **GetMiniGameCursorPosition() removed
139 -)))
140 -|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
141 -(((
142 -//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.//
143 -)))
144 -|(% colspan="1" %)(% colspan="1" %)
145 -(((
146 -Scripts
147 -)))|(% colspan="1" %)(% colspan="1" %)
148 -(((
149 -3.0 Beta 1
150 -)))|(% colspan="1" %)(% colspan="1" %)
151 -(((
152 -**$ware.illegal** updated
153 -)))
154 -|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
155 -(((
156 -//$ware.illegal used to return true if the specified ware has the 'illegal' tag which is no longer used.//
157 -\\//It now returns true if $ware is illegal to any faction in the game.//
158 -)))
159 -|(% colspan="1" %)(% colspan="1" %)
160 -(((
161 -Scripts
162 -)))|(% colspan="1" %)(% colspan="1" %)
163 -(((
164 -3.0 Beta 1
165 -)))|(% colspan="1" %)(% colspan="1" %)
166 -(((
167 -MD script **RML_Flight_Along_Path** removed
168 -)))
169 -|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
170 -(((
171 -//The MD script RML_Flight_Along_Path was not referened and was removed.//
172 -)))
173 -|(% colspan="1" %)(% colspan="1" %)
174 -(((
175 -Scripts
176 -)))|(% colspan="1" %)(% colspan="1" %)
177 -(((
178 -3.0 Beta 1
179 -)))|(% colspan="1" %)(% colspan="1" %)
180 -(((
181 -parameters of **<event_venture_mission_completed/>** changed
182 -)))
183 -|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
184 -(((
185 -//old params: param = venture details, param2 = ships involved, param3 = duration//
186 -//new params: param = venture detail list: [mission name, mission type], param2 = list of ships involved, param3 = duration//
187 -)))
188 -|(% colspan="3" %)(% colspan="3" %)
189 -(((
190 -== 2.60 ==
191 -)))
192 192  |(((
193 -Scripts
194 -)))|(((
195 -2.60 Beta 1
196 -)))|(((
197 -'**checkoperational**' filter behaviour changed
198 -)))
199 -|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
200 -(((
201 -//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.//
202 -
203 -//Sub nodes such as match_child will have checkoperational default to false. Existing uses may find that results now include non-operational components.//
204 -)))
205 -|(((
206 -Scripts
207 -)))|(((
208 -2.60 Beta 1
209 -)))|(((
210 -$container.**supplyresources** behavior changed
211 -)))
212 -|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
213 -(((
214 -//The script keyword $container.supplyresources now includes reserved wares.//
215 -)))
216 -|(% colspan="3" %)(% colspan="3" %)
217 -(((
218 -== 2.20 ==
219 -)))
220 -|(% colspan="1" %)(% colspan="1" %)
221 -(((
222 -UI core
223 -)))|(% colspan="1" %)(% colspan="1" %)
224 -(((
225 -2.20 Beta 3/4
226 -)))|(% colspan="1" %)(% colspan="1" %)
227 -(((
228 -**Lua: GetControllerInfo()** returned mouseSteering/mouseCursor values are undefined.
229 -)))
230 -|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
231 -(((
232 -//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.
233 -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.//
234 -
235 -//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.
236 -//
237 -)))
238 -|(% colspan="1" %)(% colspan="1" %)
239 -(((
240 -Scripts
241 -)))|(% colspan="1" %)(% colspan="1" %)
242 -(((
243 -2.20 Beta 3
244 -)))|(% colspan="1" %)(% colspan="1" %)
245 -(((
246 -Attribute for build related conditions e.g. **<event_build_finished/>** renamed from 'buildmodule' to 'buildprocessor'
247 -)))
248 -|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
249 -(((
250 -//The underlying behaviour remains the same in that it involves the buildprocessor, not the buildmodule. The attribute name has simply been corrected.//
251 -)))
252 -|(% colspan="3" %)(% colspan="3" %)
253 -(((
254 -== 2.00 ==
255 -)))
256 -|(% colspan="1" %)(% colspan="1" %)
257 -(((
258 -Scripts
259 -)))|(% colspan="1" %)(% colspan="1" %)
260 -(((
261 -2.00 Beta 1
262 -)))|(% colspan="1" %)(% colspan="1" %)
263 -(((
264 -**<event_build_finished/> **param2 now returns null instead of a construction sequence
265 -)))
266 -|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
267 -(((
268 -//The construction sequence which was finished should now be accessed via the buildtask provided via param3.//
269 -)))
270 -|(% colspan="1" %)(% colspan="1" %)
271 -(((
272 -Scripts
273 -)))|(% colspan="1" %)(% colspan="1" %)
274 -(((
275 -2.00 Beta 1
276 -)))|(% colspan="1" %)(% colspan="1" %)
277 -(((
278 -**param.boarding.{...}** strength parameters removed
279 -)))
280 -|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
281 -(((
282 -//The 'recruitstrength', 'veteranstrength' and 'elitestrength' script parameters were no longer required for balancing the boarding gameplay, and were removed.//
283 -)))
284 -|(% colspan="1" %)(% colspan="1" %)
285 -(((
286 -Scripts
287 -)))|(% colspan="1" %)(% colspan="1" %)
288 -(((
289 -2.00 Beta 1
290 -)))|(% colspan="1" %)(% colspan="1" %)
291 -(((
292 -**$defensible.boardee/$defensible.boarder** and **<set_object_boarder/>/<remove_object_boarder/>** removed
293 -)))
294 -|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
295 -(((
296 -//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.//
297 -)))
298 -|(((
299 299  UI extensions
300 300  )))|(((
301 -2.00 Beta 1
31 +2.0 Beta 1
302 302  )))|(((
303 303  **FFI: GetUpgradeSlotCurrentComponent()/GetUpgradeSlotGroup()** works on non-operationals
304 304  )))
... ... @@ -309,7 +309,7 @@
309 309  |(((
310 310  UI extensions
311 311  )))|(((
312 -2.00 Beta 1
42 +2.0 Beta 1
313 313  )))|(((
314 314  **FFI: SetFormationShape()** no longer indicates an error upon certain error cases
315 315  )))
... ... @@ -321,7 +321,7 @@
321 321  |(((
322 322  Scripts
323 323  )))|(((
324 -2.00 Beta 1
54 +2.0 Beta 1
325 325  )))|(((
326 326  **<create_formation/>** now requires the attributes: 'leader' and 'follower'. Attribute 'object' is now deprecated.
327 327  )))
... ... @@ -332,7 +332,7 @@
332 332  |(((
333 333  Scripts
334 334  )))|(((
335 -2.00 Beta 1
65 +2.0 Beta 1
336 336  )))|(((
337 337  **<event_player_changed_target/>** now fires and returns null if the player deselects a target.
338 338  )))
... ... @@ -343,9 +343,9 @@
343 343  |(((
344 344  AI Scripts
345 345  )))|(((
346 -2.00 Beta 1
76 +2.0 Beta 1
347 347  )))|(((
348 -**<shoot/>/<shoot_at/>** attribute changes.
78 +Attribute changes to **<shoot/>** and **<shoot_at/>**
349 349  )))
350 350  |(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
351 351  (((
... ... @@ -356,70 +356,11 @@
356 356  //Corrects now-obsolete assumption that primary weapon groups only contain guns and secondary weapon groups only contain missile launchers.//
357 357  )))
358 358  |(((
359 -UI extensions
360 -)))|(((
361 -2.00 Beta 1
362 -)))|(((
363 -**FFI: GetBuildTask()/GetNumBuildTasks()** got a new "buildmoduleid" parameter.(% class="confluenceTd" %)
364 -)))
365 -|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
366 -(((
367 -//Added possibility to query build tasks of a certain buildmodule.//
368 -)))
369 -|(((
370 -UI extensions
371 -)))|(((
372 -2.00 Beta 1
373 -)))|(((
374 -**Lua:** **GetLibraryEntry()** retrieved a new "buildresources" field.
375 -)))
376 -|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
377 -(((
378 -//Added list of resources a buildmodule needs to build.//
379 -)))
380 -|(((
381 -UI extensions
382 -)))|(((
383 -2.00 Beta 1
384 -)))|(((
385 -(% 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);" %)
386 -)))
387 -|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
388 -(((
389 -//Unused, derelict function from XR - use GetComponentData(..., "hullpercent") instead.//
390 -)))
391 -|(((
392 -UI extensions
393 -)))|(((
394 -2.00 Beta 1
395 -)))|(((
396 -**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" %)
397 -)))
398 -|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
399 -(((
400 -//Changed return value type to const char* to better identify failure reasons in Lua script.//
401 -)))
402 -|(% colspan="3" %)(% colspan="3" %)
403 -(((
404 -== 1.50 ==
405 -)))
406 -|(((
407 -UI extensions
408 -)))|(((
409 -1.50 Beta 3
410 -)))|(((
411 -**Lua: GetComponentData() **changed behavior of "docksizes" propertly.(% class="confluenceTd" %)
412 -)))
413 -|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
414 -(((
415 -//The "docksizes" property no longer includes internal ship storage docks.//
416 -)))
417 -|(((
418 418  All
419 419  )))|(((
420 420  1.50 Beta 2
421 421  )))|(((
422 -**Meaning of "Shipyard"** was corrected throughout Lua/MD/AI scripts, so that Wharfs are not Shipyards (unlike in XR).
93 +Corrected **meaning of "Shipyard"** throughout Lua/MD/AI scripts, so that Wharfs are not Shipyards (unlike in XR).
423 423  )))
424 424  |(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
425 425  (((
... ... @@ -429,17 +429,6 @@
429 429  //Lua / GetComponentData() properties: Removed "iscapitalshipyard", fixed "isshipyard", added "canbuildships", "iswharf", "isequipmentdock"//
430 430  //Scripts: Fixed property .isshipyard, added .iswharf (.canbuildships existed already)//
431 431  )))
432 -|(((
433 -UI extensions
434 -)))|(((
435 -1.50 Beta 2
436 -)))|(((
437 -**FFI: UpgradeGroupInfo **datatype was changed.(% class="confluenceTd" %)
438 -)))
439 -|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
440 -(((
441 -//Added new "operational" field to retrieve information about number of operational upgrades in a group.//
442 -)))
443 443  |(% colspan="1" %)(% colspan="1" %)
444 444  (((
445 445  UI extensions
... ... @@ -448,7 +448,7 @@
448 448  1.50 Beta 1
449 449  )))|(% colspan="1" %)(% colspan="1" %)
450 450  (((
451 -**FFI: SetGuidance()** removed useinfopoint argument.
111 +**FFI:** Removed **SetGuidance()** argument useinfopoint.
452 452  )))
453 453  |(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
454 454  (((
... ... @@ -460,41 +460,11 @@
460 460  |(((
461 461  UI extensions
462 462  )))|(((
463 -1.50 Beta 1
464 -)))|(((
465 -**FFI: CancelConstruction() **changed its return value.(% class="confluenceTd" %)
466 -)))
467 -|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
468 -(((
469 -(% style="color: rgb(0,0,0);" %)//CancelConstruction() now returns if the cancellation was successful. //
470 -)))
471 -|(% colspan="3" %)(% colspan="3" %)
472 -(((
473 -== 1.32 ==
474 -)))
475 -|(((
476 -UI extensions
477 -)))|(((
478 478  1.32
479 479  )))|(((
480 -**Lua: GetComponentData() **removed the "nextdestname" property.
125 +**Lua:** Removed **GetComponentData()** property "**nextdestname**".
481 481  )))
482 482  |(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
483 483  (((
484 -//Instead of "nextdestname", use the properties "destination" or "destinationsector" to retrieve a destination component, then retrieve its "name" property.//
129 +//Instead of "nextdestname", use the GetComponentData() properties "destination" or "destinationsector" to retrieve a destination component, then retrieve its "name" property.//
485 485  )))
486 -|(% colspan="3" %)(% colspan="3" %)
487 -(((
488 -== 1.20 ==
489 -)))
490 -|(((
491 -UI extensions
492 -)))|(((
493 -1.20
494 -)))|(((
495 -**FFI: GetAAOption()** got a new "useconfig" parameter.(% class="confluenceTd" %)
496 -)))
497 -|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
498 -(((
499 -//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.//
500 -)))
Confluence.Code.ConfluencePageClass[0]
id
... ... @@ -1,1 +1,1 @@
1 -86048772
1 +78578134
url
... ... @@ -1,1 +1,1 @@
1 -https://www.egosoft.com:8444/confluence/wiki/spaces/X4WIKI/pages/86048772/Breaking Changes
1 +https://www.egosoft.com:8444/confluence/wiki/spaces/X4WIKI/pages/78578134/Breaking Changes