|View Issue Details|
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0001496||FSSCP||FRED||public||2007-09-08 12:18||2012-12-09 22:35|
|Assigned To||Admiral MS|
|Target Version||Fixed in Version|
|Summary||0001496: Ships stopping mid-waypoint|
|Description||So, there's two fighters in the same wing. One of them's going to a waypoint, the other's guarding the first. Then they both get clear-goals and an order - the first one is told to play-dead (or stay-still) and the second gets a waypoint-once order.|
But BOTH ships stop. If you shoot the second fighter, only then will it get moving toward the waypoint.
|Additional Information||Happens in every build I've tried in the stable branch up to the 15th of August. I've tried a dozen variations on the situation, but it seems that whenever the first ship stops the second one invariably does the same until it's shot.|
|Tags||No tags attached.|
|Happens in retail too. Ships in a wing follow the orders of the first ship in the wing. Always have done. I'd love to see this fixed but I'd imagine it would break a huge number of missions unless it was applied carefully.|
Ransom Arceihn (reporter)
Well, all right then. But it only seems to affect things when the order means stopping - two separate waypoint orders doesn't result in the second fighter going to the first one's waypoint, for instance.
And it seems strange that getting shot fixes it.
* BUMP *
So, is this not something that we can fix, or is it really a new bug?
To be honest it's something I'd really like to see fixed as it's pretty silly that just cause a ship is in a wing you can't give it new orders.
The problem is whether it would break missions. In general it shouldn't. If the mission designer wanted a wing to do something they usually would have told them to do it rather than give the lead ship new orders. But if someone made that mistake they wouldn't have spotted it during playtesting.
I'm tempted to say that we should fix it and see what it breaks.
|Not going to work on this.|
|I'll wait till 3.6.10 comes out and then see if changing this breaks anything.|
|Changing the status here to make it more visible|
Admiral MS (developer)
Last edited: 2012-12-08 11:12
So I found the reason why this happens and I can fix it but the question is: What's the right behaviour in this case?
I see the following options:
- Ship should follow its own waypoint path unless the wingleader has the same waypoint path and order
- Ship should follow its own waypoint path unless the wingleader has any waypoint order
As usual with ai changes this may or may not break old missions.
Currently in case the formation waypoint flying starts, the target path of all ships in the wing will get overridden with the path of the wing leader.
Additionally there is the option to drop the formation flag in this case to prevent it from running through all the checks in ai_formation() every frame. When shooting at the fighter that flag gets removed and when given a new waypoint order it gets added anyway.
Edit: Uploaded patch that fixes behaviour for the case presented in the test mission (second option)
Admiral MS (developer)
As suggested the fix now comes with an ai_profiles.tbl setting named
$fix ai path order bug: YES / NO
Behaviour with YES is:
Ship should follow its own waypoint path unless the wingleader has the same waypoint path and order
Uploaded it as waypointflying_v2.patch
|Fix committed to trunk@9412.|
fs2open: trunk r9412
Timestamp: 2012-12-08 22:45:27
|Fix for Mantis 1496: Ships stopping mid-waypoint; From Admiral MS|
|mod - /trunk/fs2_open/code/ai/ai_profiles.cpp|
|mod - /trunk/fs2_open/code/ai/ai_profiles.h|
|mod - /trunk/fs2_open/code/ai/aicode.cpp|
|2007-09-08 12:18||Ransom Arceihn||New Issue|
|2007-09-08 12:18||Ransom Arceihn||File Added: waypoints.fs2|
|2007-09-08 16:11||karajorma||Note Added: 0008512|
|2007-09-08 16:32||Ransom Arceihn||Note Added: 0008513|
|2008-03-21 18:48||taylor||Note Added: 0009000|
|2008-03-21 18:55||karajorma||Note Added: 0009005|
|2008-04-04 20:31||taylor||Status||new => assigned|
|2008-04-04 20:31||taylor||Assigned To||=> taylor|
|2008-07-17 12:36||taylor||Note Added: 0009472|
|2008-07-17 12:36||taylor||Assigned To||taylor =>|
|2008-07-17 12:36||taylor||Status||assigned => new|
|2009-02-02 15:39||karajorma||Status||new => assigned|
|2009-02-02 15:39||karajorma||Assigned To||=> karajorma|
|2009-02-02 15:40||karajorma||Note Added: 0010641|
|2012-10-28 09:47||karajorma||Assigned To||karajorma =>|
|2012-12-07 09:53||The_E||Note Added: 0014346|
|2012-12-07 09:53||The_E||Status||assigned => acknowledged|
|2012-12-08 10:46||Admiral MS||Note Added: 0014357|
|2012-12-08 11:12||Admiral MS||Note Edited: 0014357||View Revisions|
|2012-12-08 11:13||Admiral MS||File Added: waypointflying.patch|
|2012-12-08 16:24||Admiral MS||Note Added: 0014361|
|2012-12-08 16:25||Admiral MS||File Added: waypointflying_v2.patch|
|2012-12-08 18:57||Zacam||Assigned To||=> Zacam|
|2012-12-08 18:57||Zacam||Status||acknowledged => code review|
|2012-12-08 22:15||Zacam||Changeset attached||=> fs2open trunk r9412|
|2012-12-08 22:15||Zacam||Note Added: 0014371|
|2012-12-08 22:15||Zacam||Status||code review => resolved|
|2012-12-08 22:15||Zacam||Resolution||open => fixed|
|2012-12-09 22:35||Goober5000||Assigned To||Zacam => Admiral MS|