Changes for page Breaking Changes

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

From version 31.1
edited by stefan
on 2019/06/25 13:43
Change comment: added breaking change for GetMiniGameCursorPosition()
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,19 +25,23 @@
25 25  )))|=(((
26 26  Summary
27 27  )))
28 +|(% colspan="3" %)(% colspan="3" %)
29 +(((
30 +== 3.00 ==
31 +)))
28 28  |(% colspan="1" %)(% colspan="1" %)
29 29  (((
30 -UI core
34 +Scripts
31 31  )))|(% colspan="1" %)(% colspan="1" %)
32 32  (((
33 33  3.0 Beta 1
34 34  )))|(% colspan="1" %)(% colspan="1" %)
35 35  (((
36 -**Lua: **GetMiniGameCursorPosition() removed
40 +Script action **<add_actor_to_room/> **attribute **'room'** renamed to **'object'**
37 37  )))
38 38  |(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
39 39  (((
40 -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.
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.
41 41  )))
42 42  |(% colspan="1" %)(% colspan="1" %)
43 43  (((
... ... @@ -47,12 +47,11 @@
47 47  3.0 Beta 1
48 48  )))|(% colspan="1" %)(% colspan="1" %)
49 49  (((
50 -$ware.illegal updated
54 +Script action **<set_doors_locked/>** attribute **'group'** changed
51 51  )))
52 52  |(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
53 53  (((
54 -$ware.illegal used to return true if the specified ware has the 'illegal' tag which is no longer used.
55 -\\It now returns true if $ware is illegal to any faction in the game.
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.//
56 56  )))
57 57  |(% colspan="1" %)(% colspan="1" %)
58 58  (((
... ... @@ -62,13 +62,11 @@
62 62  3.0 Beta 1
63 63  )))|(% colspan="1" %)(% colspan="1" %)
64 64  (((
65 -'checkoperational' filter behaviour changed
68 +Script conditions **<event_hack_*/>** and **<event_controlpanel_hack_*/>** removed
66 66  )))
67 67  |(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
68 68  (((
69 -//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.//
70 -
71 -//Sub nodes such as match_child will have checkoperational default to false. Existing uses may find that results now include non-operational components.//
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.//
72 72  )))
73 73  |(% colspan="1" %)(% colspan="1" %)
74 74  (((
... ... @@ -78,6 +78,102 @@
78 78  3.0 Beta 1
79 79  )))|(% colspan="1" %)(% colspan="1" %)
80 80  (((
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 +|(((
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 +(((
81 81  MD script **RML_Flight_Along_Path** removed
82 82  )))
83 83  |(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)
... ... @@ -86,6 +86,53 @@
86 86  )))
87 87  |(% colspan="1" %)(% colspan="1" %)
88 88  (((
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 +(((
89 89  UI core
90 90  )))|(% colspan="1" %)(% colspan="1" %)
91 91  (((
... ... @@ -116,6 +116,10 @@
116 116  (((
117 117  //The underlying behaviour remains the same in that it involves the buildprocessor, not the buildmodule. The attribute name has simply been corrected.//
118 118  )))
263 +|(% colspan="3" %)(% colspan="3" %)
264 +(((
265 +== 2.00 ==
266 +)))
119 119  |(% colspan="1" %)(% colspan="1" %)
120 120  (((
121 121  Scripts
... ... @@ -262,6 +262,10 @@
262 262  (((
263 263  //Changed return value type to const char* to better identify failure reasons in Lua script.//
264 264  )))
413 +|(% colspan="3" %)(% colspan="3" %)
414 +(((
415 +== 1.50 ==
416 +)))
265 265  |(((
266 266  UI extensions
267 267  )))|(((
... ... @@ -327,6 +327,10 @@
327 327  (((
328 328  (% style="color: rgb(0,0,0);" %)//CancelConstruction() now returns if the cancellation was successful. //
329 329  )))
482 +|(% colspan="3" %)(% colspan="3" %)
483 +(((
484 +== 1.32 ==
485 +)))
330 330  |(((
331 331  UI extensions
332 332  )))|(((
... ... @@ -338,6 +338,10 @@
338 338  (((
339 339  //Instead of "nextdestname", use the properties "destination" or "destinationsector" to retrieve a destination component, then retrieve its "name" property.//
340 340  )))
497 +|(% colspan="3" %)(% colspan="3" %)
498 +(((
499 +== 1.20 ==
500 +)))
341 341  |(((
342 342  UI extensions
343 343  )))|(((
Confluence.Code.ConfluencePageClass[0]
id
... ... @@ -1,1 +1,1 @@
1 -83460733
1 +86835243
url
... ... @@ -1,1 +1,1 @@
1 -https://www.egosoft.com:8444/confluence/wiki/spaces/X4WIKI/pages/83460733/Breaking Changes
1 +https://www.egosoft.com:8444/confluence/wiki/spaces/X4WIKI/pages/86835243/Breaking Changes