Changes for page Breaking Changes
Last modified by Michael Baumgardt on 2026/04/17 12:03
Summary
-
Page properties (2 modified, 0 added, 0 removed)
-
Objects (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -xwiki:XWiki. stefan1 +xwiki:XWiki.klaus - Content
-
... ... @@ -25,10 +25,280 @@ 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 +|(% colspan="1" %)(% colspan="1" %) 145 +((( 146 +Scripts 147 +)))|(% colspan="1" %)(% colspan="1" %) 148 +((( 149 +3.0 Beta 1 150 +)))|(% colspan="1" %)(% colspan="1" %) 151 +((( 152 +**$ware.illegal** updated 153 +))) 154 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 155 +((( 156 +//$ware.illegal used to return true if the specified ware has the 'illegal' tag which is no longer used.// 157 +\\//It now returns true if $ware is illegal to any faction in the game.// 158 +))) 159 +|(% colspan="1" %)(% colspan="1" %) 160 +((( 161 +Scripts 162 +)))|(% colspan="1" %)(% colspan="1" %) 163 +((( 164 +3.0 Beta 1 165 +)))|(% colspan="1" %)(% colspan="1" %) 166 +((( 167 +MD script **RML_Flight_Along_Path** removed 168 +))) 169 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 170 +((( 171 +//The MD script RML_Flight_Along_Path was not referened and was removed.// 172 +))) 173 +|(% colspan="1" %)(% colspan="1" %) 174 +((( 175 +Scripts 176 +)))|(% colspan="1" %)(% colspan="1" %) 177 +((( 178 +3.0 Beta 1 179 +)))|(% colspan="1" %)(% colspan="1" %) 180 +((( 181 +parameters of **<event_venture_mission_completed/>** changed 182 +))) 183 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 184 +((( 185 +//old params: param = venture details, param2 = ships involved, param3 = duration// 186 +//new params: param = venture detail list: [mission name, mission type], param2 = list of ships involved, param3 = duration// 187 +))) 188 +|(% colspan="3" %)(% colspan="3" %) 189 +((( 190 +== 2.60 == 191 +))) 28 28 |((( 193 +Scripts 194 +)))|((( 195 +2.60 Beta 1 196 +)))|((( 197 +'**checkoperational**' filter behaviour changed 198 +))) 199 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 200 +((( 201 +//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.// 202 + 203 +//Sub nodes such as match_child will have checkoperational default to false. Existing uses may find that results now include non-operational components.// 204 +))) 205 +|((( 206 +Scripts 207 +)))|((( 208 +2.60 Beta 1 209 +)))|((( 210 +$container.**supplyresources** behavior changed 211 +))) 212 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 213 +((( 214 +//The script keyword $container.supplyresources now includes reserved wares.// 215 +))) 216 +|(% colspan="3" %)(% colspan="3" %) 217 +((( 218 +== 2.20 == 219 +))) 220 +|(% colspan="1" %)(% colspan="1" %) 221 +((( 222 +UI core 223 +)))|(% colspan="1" %)(% colspan="1" %) 224 +((( 225 +2.20 Beta 3/4 226 +)))|(% colspan="1" %)(% colspan="1" %) 227 +((( 228 +**Lua: GetControllerInfo()** returned mouseSteering/mouseCursor values are undefined. 229 +))) 230 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 231 +((( 232 +//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. 233 +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.// 234 + 235 +//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. 236 +// 237 +))) 238 +|(% colspan="1" %)(% colspan="1" %) 239 +((( 240 +Scripts 241 +)))|(% colspan="1" %)(% colspan="1" %) 242 +((( 243 +2.20 Beta 3 244 +)))|(% colspan="1" %)(% colspan="1" %) 245 +((( 246 +Attribute for build related conditions e.g. **<event_build_finished/>** renamed from 'buildmodule' to 'buildprocessor' 247 +))) 248 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 249 +((( 250 +//The underlying behaviour remains the same in that it involves the buildprocessor, not the buildmodule. The attribute name has simply been corrected.// 251 +))) 252 +|(% colspan="3" %)(% colspan="3" %) 253 +((( 254 +== 2.00 == 255 +))) 256 +|(% colspan="1" %)(% colspan="1" %) 257 +((( 258 +Scripts 259 +)))|(% colspan="1" %)(% colspan="1" %) 260 +((( 261 +2.00 Beta 1 262 +)))|(% colspan="1" %)(% colspan="1" %) 263 +((( 264 +**<event_build_finished/> **param2 now returns null instead of a construction sequence 265 +))) 266 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 267 +((( 268 +//The construction sequence which was finished should now be accessed via the buildtask provided via param3.// 269 +))) 270 +|(% colspan="1" %)(% colspan="1" %) 271 +((( 272 +Scripts 273 +)))|(% colspan="1" %)(% colspan="1" %) 274 +((( 275 +2.00 Beta 1 276 +)))|(% colspan="1" %)(% colspan="1" %) 277 +((( 278 +**param.boarding.{...}** strength parameters removed 279 +))) 280 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 281 +((( 282 +//The 'recruitstrength', 'veteranstrength' and 'elitestrength' script parameters were no longer required for balancing the boarding gameplay, and were removed.// 283 +))) 284 +|(% colspan="1" %)(% colspan="1" %) 285 +((( 286 +Scripts 287 +)))|(% colspan="1" %)(% colspan="1" %) 288 +((( 289 +2.00 Beta 1 290 +)))|(% colspan="1" %)(% colspan="1" %) 291 +((( 292 +**$defensible.boardee/$defensible.boarder** and **<set_object_boarder/>/<remove_object_boarder/>** removed 293 +))) 294 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 295 +((( 296 +//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.// 297 +))) 298 +|((( 29 29 UI extensions 30 30 )))|((( 31 -2.0 Beta 1 301 +2.00 Beta 1 32 32 )))|((( 33 33 **FFI: GetUpgradeSlotCurrentComponent()/GetUpgradeSlotGroup()** works on non-operationals 34 34 ))) ... ... @@ -39,7 +39,7 @@ 39 39 |((( 40 40 UI extensions 41 41 )))|((( 42 -2.0 Beta 1 312 +2.00 Beta 1 43 43 )))|((( 44 44 **FFI: SetFormationShape()** no longer indicates an error upon certain error cases 45 45 ))) ... ... @@ -51,7 +51,7 @@ 51 51 |((( 52 52 Scripts 53 53 )))|((( 54 -2.0 Beta 1 324 +2.00 Beta 1 55 55 )))|((( 56 56 **<create_formation/>** now requires the attributes: 'leader' and 'follower'. Attribute 'object' is now deprecated. 57 57 ))) ... ... @@ -62,7 +62,7 @@ 62 62 |((( 63 63 Scripts 64 64 )))|((( 65 -2.0 Beta 1 335 +2.00 Beta 1 66 66 )))|((( 67 67 **<event_player_changed_target/>** now fires and returns null if the player deselects a target. 68 68 ))) ... ... @@ -73,9 +73,9 @@ 73 73 |((( 74 74 AI Scripts 75 75 )))|((( 76 -2.0 Beta 1 346 +2.00 Beta 1 77 77 )))|((( 78 - Attribute changes to**<shoot/>** and **<shoot_at/>**348 +**<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 ((( ... ... @@ -86,11 +86,70 @@ 86 86 //Corrects now-obsolete assumption that primary weapon groups only contain guns and secondary weapon groups only contain missile launchers.// 87 87 ))) 88 88 |((( 359 +UI extensions 360 +)))|((( 361 +2.00 Beta 1 362 +)))|((( 363 +**FFI: GetBuildTask()/GetNumBuildTasks()** got a new "buildmoduleid" parameter.(% class="confluenceTd" %) 364 +))) 365 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 366 +((( 367 +//Added possibility to query build tasks of a certain buildmodule.// 368 +))) 369 +|((( 370 +UI extensions 371 +)))|((( 372 +2.00 Beta 1 373 +)))|((( 374 +**Lua:** **GetLibraryEntry()** retrieved a new "buildresources" field. 375 +))) 376 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 377 +((( 378 +//Added list of resources a buildmodule needs to build.// 379 +))) 380 +|((( 381 +UI extensions 382 +)))|((( 383 +2.00 Beta 1 384 +)))|((( 385 +(% 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);" %) 386 +))) 387 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 388 +((( 389 +//Unused, derelict function from XR - use GetComponentData(..., "hullpercent") instead.// 390 +))) 391 +|((( 392 +UI extensions 393 +)))|((( 394 +2.00 Beta 1 395 +)))|((( 396 +**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" %) 397 +))) 398 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 399 +((( 400 +//Changed return value type to const char* to better identify failure reasons in Lua script.// 401 +))) 402 +|(% colspan="3" %)(% colspan="3" %) 403 +((( 404 +== 1.50 == 405 +))) 406 +|((( 407 +UI extensions 408 +)))|((( 409 +1.50 Beta 3 410 +)))|((( 411 +**Lua: GetComponentData() **changed behavior of "docksizes" propertly.(% class="confluenceTd" %) 412 +))) 413 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 414 +((( 415 +//The "docksizes" property no longer includes internal ship storage docks.// 416 +))) 417 +|((( 89 89 All 90 90 )))|((( 91 91 1.50 Beta 2 92 92 )))|((( 93 - Corrected**meaning of "Shipyard"** throughout Lua/MD/AI scripts, so that Wharfs are not Shipyards (unlike in XR).422 +**Meaning of "Shipyard"** was corrected throughout Lua/MD/AI scripts, so that Wharfs are not Shipyards (unlike in XR). 94 94 ))) 95 95 |(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 96 96 ((( ... ... @@ -100,6 +100,17 @@ 100 100 //Lua / GetComponentData() properties: Removed "iscapitalshipyard", fixed "isshipyard", added "canbuildships", "iswharf", "isequipmentdock"// 101 101 //Scripts: Fixed property .isshipyard, added .iswharf (.canbuildships existed already)// 102 102 ))) 432 +|((( 433 +UI extensions 434 +)))|((( 435 +1.50 Beta 2 436 +)))|((( 437 +**FFI: UpgradeGroupInfo **datatype was changed.(% class="confluenceTd" %) 438 +))) 439 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 440 +((( 441 +//Added new "operational" field to retrieve information about number of operational upgrades in a group.// 442 +))) 103 103 |(% colspan="1" %)(% colspan="1" %) 104 104 ((( 105 105 UI extensions ... ... @@ -108,7 +108,7 @@ 108 108 1.50 Beta 1 109 109 )))|(% colspan="1" %)(% colspan="1" %) 110 110 ((( 111 -**FFI: **Removed **SetGuidance()**argumentuseinfopoint.451 +**FFI: SetGuidance()** removed useinfopoint argument. 112 112 ))) 113 113 |(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 114 114 ((( ... ... @@ -120,11 +120,41 @@ 120 120 |((( 121 121 UI extensions 122 122 )))|((( 463 +1.50 Beta 1 464 +)))|((( 465 +**FFI: CancelConstruction() **changed its return value.(% class="confluenceTd" %) 466 +))) 467 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 468 +((( 469 +(% style="color: rgb(0,0,0);" %)//CancelConstruction() now returns if the cancellation was successful. // 470 +))) 471 +|(% colspan="3" %)(% colspan="3" %) 472 +((( 473 +== 1.32 == 474 +))) 475 +|((( 476 +UI extensions 477 +)))|((( 123 123 1.32 124 124 )))|((( 125 -**Lua: **Removed **GetComponentData()**property"**nextdestname**".480 +**Lua: GetComponentData() **removed the "nextdestname" property. 126 126 ))) 127 127 |(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 128 128 ((( 129 -//Instead of "nextdestname", use the GetComponentData() properties "destination" or "destinationsector" to retrieve a destination component, then retrieve its "name" property.//484 +//Instead of "nextdestname", use the properties "destination" or "destinationsector" to retrieve a destination component, then retrieve its "name" property.// 130 130 ))) 486 +|(% colspan="3" %)(% colspan="3" %) 487 +((( 488 +== 1.20 == 489 +))) 490 +|((( 491 +UI extensions 492 +)))|((( 493 +1.20 494 +)))|((( 495 +**FFI: GetAAOption()** got a new "useconfig" parameter.(% class="confluenceTd" %) 496 +))) 497 +|(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %)(% class="highlight-grey" colspan="3" data-highlight-colour="grey" %) 498 +((( 499 +//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.// 500 +)))
- Confluence.Code.ConfluencePageClass[0]
-
- id
-
... ... @@ -1,1 +1,1 @@ 1 - 785781341 +86048772 - url
-
... ... @@ -1,1 +1,1 @@ 1 -https://www.egosoft.com:8444/confluence/wiki/spaces/X4WIKI/pages/ 78578134/Breaking Changes1 +https://www.egosoft.com:8444/confluence/wiki/spaces/X4WIKI/pages/86048772/Breaking Changes