Changes for page Breaking Changes

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

From version 21.1
edited by stefan
on 2019/02/08 11:56
Change comment: There is no comment for this version
To version 40.1
edited by stefan
on 2019/09/19 13:06
Change comment: added GetLocalizedInteractiveNotificationKey() for 3.0 Beta 1

Summary

Details

Page properties
Content
... ... @@ -25,7 +25,288 @@
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 +)))
28 28  |(((
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 +|(((
29 29  UI extensions
30 30  )))|(((
31 31  2.00 Beta 1
... ... @@ -75,7 +75,7 @@
75 75  )))|(((
76 76  2.00 Beta 1
77 77  )))|(((
78 -Attribute changes to **<shoot/>** and **<shoot_at/>**
359 +**<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  (((
... ... @@ -90,7 +90,7 @@
90 90  )))|(((
91 91  2.00 Beta 1
92 92  )))|(((
93 -**FFI**: Added "**buildmoduleid**" parameter to (% style="color: rgb(0,0,0);" %)**GetBuildTasks() **and (% style="color: rgb(0, 0, 0); color: rgb(0, 0, 0)" %)**GetNumBuildTasks()**(% style="color: rgb(0,0,0);" %).
374 +**FFI: GetBuildTask()/GetNumBuildTasks()** got a new "buildmoduleid" parameter.(% class="confluenceTd" %)
94 94  )))
95 95  |(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
96 96  (((
... ... @@ -101,7 +101,7 @@
101 101  )))|(((
102 102  2.00 Beta 1
103 103  )))|(((
104 -**Lua: **Added "**buildresources**" field to the return value of **GetLibraryEntry()** for buildmodules.
385 +**Lua:** **GetLibraryEntry()** retrieved a new "buildresources" field.
105 105  )))
106 106  |(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
107 107  (((
... ... @@ -112,7 +112,7 @@
112 112  )))|(((
113 113  2.00 Beta 1
114 114  )))|(((
115 -**Lua: **Removed (% style="color: rgb(0,0,0);" %)**CalculateTotalHullFraction().**
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);" %)
116 116  )))
117 117  |(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
118 118  (((
... ... @@ -123,18 +123,22 @@
123 123  )))|(((
124 124  2.00 Beta 1
125 125  )))|(((
126 -**FFI: **Changed return value of (% style="color: rgb(0,0,0);" %)**RequestDockAtReason()** and (% style="color: rgb(0, 0, 0); color: rgb(0, 0, 0)" %)**UndockPlayerShip()**.
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" %)
127 127  )))
128 128  |(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
129 129  (((
130 -//Changed return value type to const char* to better identify failure reasons in lua script.//
411 +//Changed return value type to const char* to better identify failure reasons in Lua script.//
131 131  )))
413 +|(% colspan="3" %)(% colspan="3" %)
414 +(((
415 +== 1.50 ==
416 +)))
132 132  |(((
133 133  UI extensions
134 134  )))|(((
135 135  1.50 Beta 3
136 136  )))|(((
137 -**Lua: **Changed **GetComponentData() **property (% style="color: rgb(0,0,0);" %)"**docksizes**".
422 +**Lua: GetComponentData() **changed behavior of "docksizes" propertly.(% class="confluenceTd" %)
138 138  )))
139 139  |(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
140 140  (((
... ... @@ -145,7 +145,7 @@
145 145  )))|(((
146 146  1.50 Beta 2
147 147  )))|(((
148 -Corrected **meaning of "Shipyard"** throughout Lua/MD/AI scripts, so that Wharfs are not Shipyards (unlike in XR).
433 +**Meaning of "Shipyard"** was corrected throughout Lua/MD/AI scripts, so that Wharfs are not Shipyards (unlike in XR).
149 149  )))
150 150  |(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
151 151  (((
... ... @@ -160,11 +160,11 @@
160 160  )))|(((
161 161  1.50 Beta 2
162 162  )))|(((
163 -**FFI**: Added "**operational**" field to (% style="color: rgb(0,0,0);" %)**UpgradeGroupInfo **struct.
448 +**FFI: UpgradeGroupInfo **datatype was changed.(% class="confluenceTd" %)
164 164  )))
165 165  |(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
166 166  (((
167 -//Added information about number of operational upgrades in a group, affected functions: (% style="color: rgb(0,0,0);" %)GetUpgradeGroupInfo().//
452 +//Added new "operational" field to retrieve information about number of operational upgrades in a group.//
168 168  )))
169 169  |(% colspan="1" %)(% colspan="1" %)
170 170  (((
... ... @@ -174,7 +174,7 @@
174 174  1.50 Beta 1
175 175  )))|(% colspan="1" %)(% colspan="1" %)
176 176  (((
177 -**FFI:** Removed **SetGuidance()** argument useinfopoint.
462 +**FFI: SetGuidance()** removed useinfopoint argument.
178 178  )))
179 179  |(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
180 180  (((
... ... @@ -188,31 +188,39 @@
188 188  )))|(((
189 189  1.50 Beta 1
190 190  )))|(((
191 -**FFI:** Changed return value for (% style="color: rgb(0,0,0);" %)**CancelConstruction()**.
476 +**FFI: CancelConstruction() **changed its return value.(% class="confluenceTd" %)
192 192  )))
193 193  |(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
194 194  (((
195 -(% style="color: rgb(0,0,0);" %)CancelConstruction() now returns if the cancellation was successful.
480 +(% style="color: rgb(0,0,0);" %)//CancelConstruction() now returns if the cancellation was successful. //
196 196  )))
482 +|(% colspan="3" %)(% colspan="3" %)
483 +(((
484 +== 1.32 ==
485 +)))
197 197  |(((
198 198  UI extensions
199 199  )))|(((
200 200  1.32
201 201  )))|(((
202 -**Lua:** Removed **GetComponentData()** property "**nextdestname**".
491 +**Lua: GetComponentData() **removed the "nextdestname" property.
203 203  )))
204 204  |(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
205 205  (((
206 -//Instead of "nextdestname", use the GetComponentData() properties "destination" or "destinationsector" to retrieve a destination component, then retrieve its "name" property.//
495 +//Instead of "nextdestname", use the properties "destination" or "destinationsector" to retrieve a destination component, then retrieve its "name" property.//
207 207  )))
497 +|(% colspan="3" %)(% colspan="3" %)
498 +(((
499 +== 1.20 ==
500 +)))
208 208  |(((
209 209  UI extensions
210 210  )))|(((
211 211  1.20
212 212  )))|(((
213 -**FFI**: Added "**useconfig**" parameter to (% style="color: rgb(0,0,0);" %)**GetAAOption()**.
506 +**FFI: GetAAOption()** got a new "useconfig" parameter.(% class="confluenceTd" %)
214 214  )))
215 215  |(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
216 216  (((
217 -//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.//
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.//
218 218  )))
Confluence.Code.ConfluencePageClass[0]
id
... ... @@ -1,1 +1,1 @@
1 -78578531
1 +86835243
url
... ... @@ -1,1 +1,1 @@
1 -https://www.egosoft.com:8444/confluence/wiki/spaces/X4WIKI/pages/78578531/Breaking Changes
1 +https://www.egosoft.com:8444/confluence/wiki/spaces/X4WIKI/pages/86835243/Breaking Changes