Changes for page Breaking Changes

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

From version 22.1
edited by stefan
on 2019/02/08 12:09
Change comment: multiple corrections/layout tweaks
To version 43.1
edited by michael
on 2019/11/08 14:57
Change comment: added SurfaceElementFactor to UIWeaponMod

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -xwiki:XWiki.stefan
1 +xwiki:XWiki.michael
Content
... ... @@ -25,11 +25,344 @@
25 25  )))|=(((
26 26  Summary
27 27  )))
28 +|(% colspan="3" %)(% colspan="3" %)
29 +(((
30 +== 3.00 ==
31 +)))
32 +|(% colspan="1" %)(% colspan="1" %)
33 +(((
34 +Global
35 +)))|(% colspan="1" %)(% colspan="1" %)
36 +(((
37 +3.0 Beta 1
38 +)))|(% colspan="1" %)(% colspan="1" %)
39 +(((
40 +MissionBoard support dropped.
41 +)))
42 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
43 +(((
44 +//MissionBoards was a dummy asset type which was only used during early development and never meant to be shipped in the released version. If any mod tried to make use of this asset type, undefined behavior would occur. Therefore we cleaned things up in 3.0 Beta 1 including deprecating/removing any related UI/script function.//
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 **<add_actor_to_room/> **attribute **'room'** renamed to **'object'**
55 +)))
56 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
57 +(((
58 +//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.//
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 action **<set_doors_locked/>** attribute **'group'** changed
69 +)))
70 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
71 +(((
72 +//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.//
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 conditions **<event_hack_*/>** and **<event_controlpanel_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 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.//
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 +Script actions **<set_hack_target/>** and **<abort_hack/>** removed
97 +)))
98 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
99 +(((
100 +//These actions had no effect and were removed.//
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 +**<setup_conversation_minigame/>** script action removed
111 +)))
112 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
113 +(((
114 +//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.//
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 +<add_player_choice_*> **confidence** attribute removed
125 +)))
126 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
127 +(((
128 +//The default confidence of player options is another leftover from the XR era and had no effect in X4.//
129 +)))
130 +|(% colspan="1" %)(% colspan="1" %)
131 +(((
132 +Scripts
133 +)))|(% colspan="1" %)(% colspan="1" %)
134 +(((
135 +3.0 Beta 1
136 +)))|(% colspan="1" %)(% colspan="1" %)
137 +(((
138 +**<hack_via_control_panel/>** script action removed
139 +)))
140 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
141 +(((
142 +//Unused script action <hack_via_control_panel/> was removed.//
143 +)))
144 +|(% colspan="1" %)(% colspan="1" %)
145 +(((
146 +UI core
147 +)))|(% colspan="1" %)(% colspan="1" %)
148 +(((
149 +3.0 Beta 1
150 +)))|(% colspan="1" %)(% colspan="1" %)
151 +(((
152 +**Lua: **GetMiniGameCursorPosition() removed
153 +)))
154 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
155 +(((
156 +//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.//
157 +)))
28 28  |(((
159 +UI core
160 +)))|(((
161 +3.0 Beta 1
162 +)))|(((
163 +**FFI: **GetLocalizedInteractiveNotificationKey can return icon placeholders
164 +)))
165 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
166 +(((
167 +//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.//
168 +)))
169 +|(% colspan="1" %)(% colspan="1" %)
170 +(((
29 29  UI extensions
172 +)))|(% colspan="1" %)(% colspan="1" %)
173 +(((
174 +3.0 Beta 1
175 +)))|(% colspan="1" %)(% colspan="1" %)
176 +(((
177 +**FFI: **UIWeaponMod returned by GetInstalledWeaponMod() now includes property SurfaceElementFactor
178 +)))
179 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
180 +(((
181 +//In 3.0 Beta 1 we added support for a new weapon mod property "SurfaceElementFactor" to allow weapons to deal increased damage to surface elements such as Shield Generators, Turrets or Engines.//
182 +)))
183 +|(% colspan="1" %)(% colspan="1" %)
184 +(((
185 +Scripts
186 +)))|(% colspan="1" %)(% colspan="1" %)
187 +(((
188 +3.0 Beta 1
189 +)))|(% colspan="1" %)(% colspan="1" %)
190 +(((
191 +**$ware.illegal** updated
192 +)))
193 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
194 +(((
195 +//$ware.illegal used to return true if the specified ware has the 'illegal' tag which is no longer used.//
196 +//It now returns true if $ware is illegal to any faction in the game.//
197 +)))
198 +|(% colspan="1" %)(% colspan="1" %)
199 +(((
200 +Scripts
201 +)))|(% colspan="1" %)(% colspan="1" %)
202 +(((
203 +3.0 Beta 1
204 +)))|(% colspan="1" %)(% colspan="1" %)
205 +(((
206 +MD script **RML_Flight_Along_Path** removed
207 +)))
208 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
209 +(((
210 +//The MD script RML_Flight_Along_Path was not referened and was removed.//
211 +)))
212 +|(% colspan="1" %)(% colspan="1" %)
213 +(((
214 +Scripts
215 +)))|(% colspan="1" %)(% colspan="1" %)
216 +(((
217 +3.0 Beta 1
218 +)))|(% colspan="1" %)(% colspan="1" %)
219 +(((
220 +parameters of **<event_venture_mission_completed/>** changed
221 +)))
222 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
223 +(((
224 +//old params: param = venture details, param2 = ships involved, param3 = duration//
225 +//new params: param = venture detail list: [mission name, mission type], param2 = list of ships involved, param3 = duration//
226 +)))
227 +|(((
228 +Scripts
30 30  )))|(((
230 +3.0 Beta 1
231 +)))|(((
232 +**<set_object_wing_name/>** removed,
233 +**<set_object_fleet_name/>** added
234 +)))
235 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
236 +(((
237 +//The common action <set_object_wing_name/> has been replaced with <set_object_fleet_name/>//
238 +)))
239 +|(((
240 +Scripts
241 +)))|(((
242 +3.0 Beta 1
243 +)))|(((
244 +**$controllable.wing.*** removed,
245 +**$controllable.fleet.*** added
246 +)))
247 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
248 +(((
249 +$controllable.wing.name, $controllable.wing.iscommander, and $controllable.wing.commander have been replaced with $controllable.fleet.name, $controllable.fleet.iscommander, and $controllable.fleet.commander
250 +)))
251 +|(% colspan="3" %)(% colspan="3" %)
252 +(((
253 +== 2.60 ==
254 +)))
255 +|(((
256 +Scripts
257 +)))|(((
258 +2.60 Beta 1
259 +)))|(((
260 +'**checkoperational**' filter behaviour changed
261 +)))
262 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
263 +(((
264 +//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.//
265 +
266 +//Sub nodes such as match_child will have checkoperational default to false. Existing uses may find that results now include non-operational components.//
267 +)))
268 +|(((
269 +Scripts
270 +)))|(((
271 +2.60 Beta 1
272 +)))|(((
273 +$container.**supplyresources** behavior changed
274 +)))
275 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
276 +(((
277 +//The script keyword $container.supplyresources now includes reserved wares.//
278 +)))
279 +|(% colspan="3" %)(% colspan="3" %)
280 +(((
281 +== 2.20 ==
282 +)))
283 +|(% colspan="1" %)(% colspan="1" %)
284 +(((
285 +UI core
286 +)))|(% colspan="1" %)(% colspan="1" %)
287 +(((
288 +2.20 Beta 3/4
289 +)))|(% colspan="1" %)(% colspan="1" %)
290 +(((
291 +**Lua: GetControllerInfo()** returned mouseSteering/mouseCursor values are undefined.
292 +)))
293 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
294 +(((
295 +//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.
296 +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.//
297 +
298 +//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.
299 +//
300 +)))
301 +|(% colspan="1" %)(% colspan="1" %)
302 +(((
303 +Scripts
304 +)))|(% colspan="1" %)(% colspan="1" %)
305 +(((
306 +2.20 Beta 3
307 +)))|(% colspan="1" %)(% colspan="1" %)
308 +(((
309 +Attribute for build related conditions e.g. **<event_build_finished/>** renamed from 'buildmodule' to 'buildprocessor'
310 +)))
311 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
312 +(((
313 +//The underlying behaviour remains the same in that it involves the buildprocessor, not the buildmodule. The attribute name has simply been corrected.//
314 +)))
315 +|(% colspan="3" %)(% colspan="3" %)
316 +(((
317 +== 2.00 ==
318 +)))
319 +|(% colspan="1" %)(% colspan="1" %)
320 +(((
321 +Scripts
322 +)))|(% colspan="1" %)(% colspan="1" %)
323 +(((
31 31  2.00 Beta 1
325 +)))|(% colspan="1" %)(% colspan="1" %)
326 +(((
327 +**<event_build_finished/> **param2 now returns null instead of a construction sequence
328 +)))
329 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
330 +(((
331 +//The construction sequence which was finished should now be accessed via the buildtask provided via param3.//
332 +)))
333 +|(% colspan="1" %)(% colspan="1" %)
334 +(((
335 +Scripts
336 +)))|(% colspan="1" %)(% colspan="1" %)
337 +(((
338 +2.00 Beta 1
339 +)))|(% colspan="1" %)(% colspan="1" %)
340 +(((
341 +**param.boarding.{...}** strength parameters removed
342 +)))
343 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
344 +(((
345 +//The 'recruitstrength', 'veteranstrength' and 'elitestrength' script parameters were no longer required for balancing the boarding gameplay, and were removed.//
346 +)))
347 +|(% colspan="1" %)(% colspan="1" %)
348 +(((
349 +Scripts
350 +)))|(% colspan="1" %)(% colspan="1" %)
351 +(((
352 +2.00 Beta 1
353 +)))|(% colspan="1" %)(% colspan="1" %)
354 +(((
355 +**$defensible.boardee/$defensible.boarder** and **<set_object_boarder/>/<remove_object_boarder/>** removed
356 +)))
357 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
358 +(((
359 +//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.//
360 +)))
361 +|(((
362 +UI extensions
32 32  )))|(((
364 +2.00 Beta 1
365 +)))|(((
33 33  **FFI: GetUpgradeSlotCurrentComponent()/GetUpgradeSlotGroup()** works on non-operationals
34 34  )))
35 35  |(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
... ... @@ -129,6 +129,10 @@
129 129  (((
130 130  //Changed return value type to const char* to better identify failure reasons in Lua script.//
131 131  )))
465 +|(% colspan="3" %)(% colspan="3" %)
466 +(((
467 +== 1.50 ==
468 +)))
132 132  |(((
133 133  UI extensions
134 134  )))|(((
... ... @@ -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.
500 +**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().//
504 +//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.
514 +**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()**.
528 +**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.
532 +(% style="color: rgb(0,0,0);" %)//CancelConstruction() now returns if the cancellation was successful. //
196 196  )))
534 +|(% colspan="3" %)(% colspan="3" %)
535 +(((
536 +== 1.32 ==
537 +)))
197 197  |(((
198 198  UI extensions
199 199  )))|(((
200 200  1.32
201 201  )))|(((
202 -**Lua:** Removed **GetComponentData()** property "**nextdestname**".
543 +**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.//
547 +//Instead of "nextdestname", use the properties "destination" or "destinationsector" to retrieve a destination component, then retrieve its "name" property.//
207 207  )))
549 +|(% colspan="3" %)(% colspan="3" %)
550 +(((
551 +== 1.20 ==
552 +)))
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()**.
558 +**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.//
562 +//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 -78578533
1 +88345150
url
... ... @@ -1,1 +1,1 @@
1 -https://www.egosoft.com:8444/confluence/wiki/spaces/X4WIKI/pages/78578533/Breaking Changes
1 +https://www.egosoft.com:8444/confluence/wiki/spaces/X4WIKI/pages/88345150/Breaking Changes