Changes for page Breaking Changes

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

From version 40.1
edited by stefan
on 2019/09/19 13:06
Change comment: added GetLocalizedInteractiveNotificationKey() for 3.0 Beta 1
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
Content
... ... @@ -25,291 +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 144  |(((
145 -UI core
146 -)))|(((
147 -3.0 Beta 1
148 -)))|(((
149 -**FFI: **GetLocalizedInteractiveNotificationKey can return icon placeholders
150 -)))
151 -|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
152 -(((
153 -//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.//
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 -**$ware.illegal** updated
164 -)))
165 -|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
166 -(((
167 -//$ware.illegal used to return true if the specified ware has the 'illegal' tag which is no longer used.//
168 -//It now returns true if $ware is illegal to any faction in the game.//
169 -)))
170 -|(% colspan="1" %)(% colspan="1" %)
171 -(((
172 -Scripts
173 -)))|(% colspan="1" %)(% colspan="1" %)
174 -(((
175 -3.0 Beta 1
176 -)))|(% colspan="1" %)(% colspan="1" %)
177 -(((
178 -MD script **RML_Flight_Along_Path** removed
179 -)))
180 -|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
181 -(((
182 -//The MD script RML_Flight_Along_Path was not referened and was removed.//
183 -)))
184 -|(% colspan="1" %)(% colspan="1" %)
185 -(((
186 -Scripts
187 -)))|(% colspan="1" %)(% colspan="1" %)
188 -(((
189 -3.0 Beta 1
190 -)))|(% colspan="1" %)(% colspan="1" %)
191 -(((
192 -parameters of **<event_venture_mission_completed/>** changed
193 -)))
194 -|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
195 -(((
196 -//old params: param = venture details, param2 = ships involved, param3 = duration//
197 -//new params: param = venture detail list: [mission name, mission type], param2 = list of ships involved, param3 = duration//
198 -)))
199 -|(% colspan="3" %)(% colspan="3" %)
200 -(((
201 -== 2.60 ==
202 -)))
203 -|(((
204 -Scripts
205 -)))|(((
206 -2.60 Beta 1
207 -)))|(((
208 -'**checkoperational**' filter behaviour changed
209 -)))
210 -|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
211 -(((
212 -//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.//
213 -
214 -//Sub nodes such as match_child will have checkoperational default to false. Existing uses may find that results now include non-operational components.//
215 -)))
216 -|(((
217 -Scripts
218 -)))|(((
219 -2.60 Beta 1
220 -)))|(((
221 -$container.**supplyresources** behavior changed
222 -)))
223 -|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
224 -(((
225 -//The script keyword $container.supplyresources now includes reserved wares.//
226 -)))
227 -|(% colspan="3" %)(% colspan="3" %)
228 -(((
229 -== 2.20 ==
230 -)))
231 -|(% colspan="1" %)(% colspan="1" %)
232 -(((
233 -UI core
234 -)))|(% colspan="1" %)(% colspan="1" %)
235 -(((
236 -2.20 Beta 3/4
237 -)))|(% colspan="1" %)(% colspan="1" %)
238 -(((
239 -**Lua: GetControllerInfo()** returned mouseSteering/mouseCursor values are undefined.
240 -)))
241 -|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
242 -(((
243 -//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.
244 -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.//
245 -
246 -//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.
247 -//
248 -)))
249 -|(% colspan="1" %)(% colspan="1" %)
250 -(((
251 -Scripts
252 -)))|(% colspan="1" %)(% colspan="1" %)
253 -(((
254 -2.20 Beta 3
255 -)))|(% colspan="1" %)(% colspan="1" %)
256 -(((
257 -Attribute for build related conditions e.g. **<event_build_finished/>** renamed from 'buildmodule' to 'buildprocessor'
258 -)))
259 -|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
260 -(((
261 -//The underlying behaviour remains the same in that it involves the buildprocessor, not the buildmodule. The attribute name has simply been corrected.//
262 -)))
263 -|(% colspan="3" %)(% colspan="3" %)
264 -(((
265 -== 2.00 ==
266 -)))
267 -|(% colspan="1" %)(% colspan="1" %)
268 -(((
269 -Scripts
270 -)))|(% colspan="1" %)(% colspan="1" %)
271 -(((
272 -2.00 Beta 1
273 -)))|(% colspan="1" %)(% colspan="1" %)
274 -(((
275 -**<event_build_finished/> **param2 now returns null instead of a construction sequence
276 -)))
277 -|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
278 -(((
279 -//The construction sequence which was finished should now be accessed via the buildtask provided via param3.//
280 -)))
281 -|(% colspan="1" %)(% colspan="1" %)
282 -(((
283 -Scripts
284 -)))|(% colspan="1" %)(% colspan="1" %)
285 -(((
286 -2.00 Beta 1
287 -)))|(% colspan="1" %)(% colspan="1" %)
288 -(((
289 -**param.boarding.{...}** strength parameters removed
290 -)))
291 -|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
292 -(((
293 -//The 'recruitstrength', 'veteranstrength' and 'elitestrength' script parameters were no longer required for balancing the boarding gameplay, and were removed.//
294 -)))
295 -|(% colspan="1" %)(% colspan="1" %)
296 -(((
297 -Scripts
298 -)))|(% colspan="1" %)(% colspan="1" %)
299 -(((
300 -2.00 Beta 1
301 -)))|(% colspan="1" %)(% colspan="1" %)
302 -(((
303 -**$defensible.boardee/$defensible.boarder** and **<set_object_boarder/>/<remove_object_boarder/>** removed
304 -)))
305 -|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
306 -(((
307 -//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.//
308 -)))
309 -|(((
310 310  UI extensions
311 311  )))|(((
312 -2.00 Beta 1
31 +2.0 Beta 1
313 313  )))|(((
314 314  **FFI: GetUpgradeSlotCurrentComponent()/GetUpgradeSlotGroup()** works on non-operationals
315 315  )))
... ... @@ -320,7 +320,7 @@
320 320  |(((
321 321  UI extensions
322 322  )))|(((
323 -2.00 Beta 1
42 +2.0 Beta 1
324 324  )))|(((
325 325  **FFI: SetFormationShape()** no longer indicates an error upon certain error cases
326 326  )))
... ... @@ -332,7 +332,7 @@
332 332  |(((
333 333  Scripts
334 334  )))|(((
335 -2.00 Beta 1
54 +2.0 Beta 1
336 336  )))|(((
337 337  **<create_formation/>** now requires the attributes: 'leader' and 'follower'. Attribute 'object' is now deprecated.
338 338  )))
... ... @@ -343,7 +343,7 @@
343 343  |(((
344 344  Scripts
345 345  )))|(((
346 -2.00 Beta 1
65 +2.0 Beta 1
347 347  )))|(((
348 348  **<event_player_changed_target/>** now fires and returns null if the player deselects a target.
349 349  )))
... ... @@ -354,9 +354,9 @@
354 354  |(((
355 355  AI Scripts
356 356  )))|(((
357 -2.00 Beta 1
76 +2.0 Beta 1
358 358  )))|(((
359 -**<shoot/>/<shoot_at/>** attribute changes.
78 +Attribute changes to **<shoot/>** and **<shoot_at/>**
360 360  )))
361 361  |(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
362 362  (((
... ... @@ -367,70 +367,11 @@
367 367  //Corrects now-obsolete assumption that primary weapon groups only contain guns and secondary weapon groups only contain missile launchers.//
368 368  )))
369 369  |(((
370 -UI extensions
371 -)))|(((
372 -2.00 Beta 1
373 -)))|(((
374 -**FFI: GetBuildTask()/GetNumBuildTasks()** got a new "buildmoduleid" parameter.(% class="confluenceTd" %)
375 -)))
376 -|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
377 -(((
378 -//Added possibility to query build tasks of a certain buildmodule.//
379 -)))
380 -|(((
381 -UI extensions
382 -)))|(((
383 -2.00 Beta 1
384 -)))|(((
385 -**Lua:** **GetLibraryEntry()** retrieved a new "buildresources" field.
386 -)))
387 -|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
388 -(((
389 -//Added list of resources a buildmodule needs to build.//
390 -)))
391 -|(((
392 -UI extensions
393 -)))|(((
394 -2.00 Beta 1
395 -)))|(((
396 -(% 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);" %)
397 -)))
398 -|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
399 -(((
400 -//Unused, derelict function from XR - use GetComponentData(..., "hullpercent") instead.//
401 -)))
402 -|(((
403 -UI extensions
404 -)))|(((
405 -2.00 Beta 1
406 -)))|(((
407 -**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" %)
408 -)))
409 -|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
410 -(((
411 -//Changed return value type to const char* to better identify failure reasons in Lua script.//
412 -)))
413 -|(% colspan="3" %)(% colspan="3" %)
414 -(((
415 -== 1.50 ==
416 -)))
417 -|(((
418 -UI extensions
419 -)))|(((
420 -1.50 Beta 3
421 -)))|(((
422 -**Lua: GetComponentData() **changed behavior of "docksizes" propertly.(% class="confluenceTd" %)
423 -)))
424 -|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
425 -(((
426 -//The "docksizes" property no longer includes internal ship storage docks.//
427 -)))
428 -|(((
429 429  All
430 430  )))|(((
431 431  1.50 Beta 2
432 432  )))|(((
433 -**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).
434 434  )))
435 435  |(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
436 436  (((
... ... @@ -440,17 +440,6 @@
440 440  //Lua / GetComponentData() properties: Removed "iscapitalshipyard", fixed "isshipyard", added "canbuildships", "iswharf", "isequipmentdock"//
441 441  //Scripts: Fixed property .isshipyard, added .iswharf (.canbuildships existed already)//
442 442  )))
443 -|(((
444 -UI extensions
445 -)))|(((
446 -1.50 Beta 2
447 -)))|(((
448 -**FFI: UpgradeGroupInfo **datatype was changed.(% class="confluenceTd" %)
449 -)))
450 -|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
451 -(((
452 -//Added new "operational" field to retrieve information about number of operational upgrades in a group.//
453 -)))
454 454  |(% colspan="1" %)(% colspan="1" %)
455 455  (((
456 456  UI extensions
... ... @@ -459,7 +459,7 @@
459 459  1.50 Beta 1
460 460  )))|(% colspan="1" %)(% colspan="1" %)
461 461  (((
462 -**FFI: SetGuidance()** removed useinfopoint argument.
111 +**FFI:** Removed **SetGuidance()** argument useinfopoint.
463 463  )))
464 464  |(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
465 465  (((
... ... @@ -471,41 +471,11 @@
471 471  |(((
472 472  UI extensions
473 473  )))|(((
474 -1.50 Beta 1
475 -)))|(((
476 -**FFI: CancelConstruction() **changed its return value.(% class="confluenceTd" %)
477 -)))
478 -|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
479 -(((
480 -(% style="color: rgb(0,0,0);" %)//CancelConstruction() now returns if the cancellation was successful. //
481 -)))
482 -|(% colspan="3" %)(% colspan="3" %)
483 -(((
484 -== 1.32 ==
485 -)))
486 -|(((
487 -UI extensions
488 -)))|(((
489 489  1.32
490 490  )))|(((
491 -**Lua: GetComponentData() **removed the "nextdestname" property.
125 +**Lua:** Removed **GetComponentData()** property "**nextdestname**".
492 492  )))
493 493  |(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
494 494  (((
495 -//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.//
496 496  )))
497 -|(% colspan="3" %)(% colspan="3" %)
498 -(((
499 -== 1.20 ==
500 -)))
501 -|(((
502 -UI extensions
503 -)))|(((
504 -1.20
505 -)))|(((
506 -**FFI: GetAAOption()** got a new "useconfig" parameter.(% class="confluenceTd" %)
507 -)))
508 -|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
509 -(((
510 -//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.//
511 -)))
Confluence.Code.ConfluencePageClass[0]
id
... ... @@ -1,1 +1,1 @@
1 -86835243
1 +78578134
url
... ... @@ -1,1 +1,1 @@
1 -https://www.egosoft.com:8444/confluence/wiki/spaces/X4WIKI/pages/86835243/Breaking Changes
1 +https://www.egosoft.com:8444/confluence/wiki/spaces/X4WIKI/pages/78578134/Breaking Changes