Changes for page Breaking Changes

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

From version 38.1
edited by nick
on 2019/09/09 13:13
Change comment: added parameters of event_venture_mission_completed changed
To version 16.1
edited by klaus
on 2019/02/01 16:14
Change comment: Added some pre-2.0 notes

Summary

Details

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