0ad/source/simulation2/components
wraitii f489ab3a16 Abort formation-walking on any message from UnitMotion.
Units in formation can occasionally request many short paths (and thus
introduce crippling lag) if their offset is obstructed.
This particularly happen when the formation is idle, since the offset
then always remains obstructed.

To prevent this, it is OK to immediately stop pathing on any motion
message (obstructed, failure, success). This does not break formation
movement since messages are only sent when the formation controller is
not moving (this finishes what was started in 0535eb9b92).

Ideally, this hack could be removed if the short-pathfinder was quick
enough / units were better at aborting.

Fixes concern raised by Freagarach on a7da40ac2f.

Refs #5624 in that the max-short-path range is the source of the lag.

Reviewed By: Angen
Differential Revision: https://code.wildfiregames.com/D2871
This was SVN commit r23867.
2020-07-22 09:31:08 +00:00
..
tests Move LOS to a los helper header and cleanup Grid.h includes. 2020-06-14 20:39:03 +00:00
CCmpAIManager.cpp Use ScriptInterface::CreateObject for ToJSVal<CColor>, and for ToJSVal<Grid<u8> >, ToJSVal<Grid<u16> > used by the AIManager obtaining the pathfinder grid. 2019-09-13 00:56:51 +00:00
CCmpCinemaManager.cpp Draw paths only when cinematics isn't playing. Patch by Vladislav. 2017-05-08 04:02:33 +00:00
CCmpCommandQueue.cpp More ScriptInterface const. 2017-11-25 06:49:58 +00:00
CCmpDecay.cpp Actually remove trailing tabs from source/. 2016-11-23 14:09:58 +00:00
CCmpFootprint.cpp Increase MaxSpawnDistance for ships 2018-03-02 18:10:54 +00:00
CCmpMinimap.cpp Update the minimap, range overlay renderer, and status bars when a player's color is changed in Atlas. 2019-06-26 19:16:57 +00:00
CCmpMotionBall.cpp Avoid slightly-expensive QueryInterface() calls 2013-09-11 20:41:53 +00:00
CCmpObstruction.cpp Enable garrisoning on gates / fix movement of units with visible garrison points (2nd commit) 2020-06-02 11:40:29 +00:00
CCmpObstructionManager.cpp Move LOS to a los helper header and cleanup Grid.h includes. 2020-06-14 20:39:03 +00:00
CCmpOverlayRenderer.cpp Fix documentation of non system component. 2017-03-24 07:09:28 +00:00
CCmpOwnership.cpp Bump year number of files changed this year in the license headers. 2017-05-01 14:28:22 +00:00
CCmpParticleManager.cpp Set svn:eol-style=native, fix some inconsistent line endings 2013-12-06 00:42:50 +00:00
CCmpPathfinder.cpp Adds const to PathfinderPassability where possible. 2020-01-10 20:37:59 +00:00
CCmpPathfinder_Common.h Move LOS to a los helper header and cleanup Grid.h includes. 2020-06-14 20:39:03 +00:00
CCmpPosition.cpp Removes usages of duplication of Clamp function in simulation and atlas. Refs D1763. 2019-09-18 15:02:36 +00:00
CCmpProjectileManager.cpp Move LOS to a los helper header and cleanup Grid.h includes. 2020-06-14 20:39:03 +00:00
CCmpRallyPointRenderer.cpp Move LOS to a los helper header and cleanup Grid.h includes. 2020-06-14 20:39:03 +00:00
CCmpRallyPointRenderer.h Move LOS to a los helper header and cleanup Grid.h includes. 2020-06-14 20:39:03 +00:00
CCmpRangeManager.cpp Move LOS to a los helper header and cleanup Grid.h includes. 2020-06-14 20:39:03 +00:00
CCmpRangeOverlayRenderer.cpp Refactors ownership of SOverlayTexturedLine in CCmpRangeOverlayRenderer 2019-12-20 22:33:50 +00:00
CCmpSelectable.cpp Optimise out of frustum rendering of texture overlays. 2019-12-10 23:13:37 +00:00
CCmpSoundManager.cpp RangeManager: Grid for 2D array, enum cleanups. 2020-06-13 09:05:40 +00:00
CCmpTemplateManager.cpp AIManager: loads only the used templates when starting (or deserializing) a game 2017-11-24 19:13:28 +00:00
CCmpTerrain.cpp Recompute water graphics when changing the water level and upon deserialization to fix a graphical (non-simulation) OOS on rejoin. 2017-07-01 04:15:49 +00:00
CCmpTerritoryInfluence.cpp Add support for const methods in components and make those that can be const const. 2017-01-20 02:25:19 +00:00
CCmpTerritoryManager.cpp Fix GetTerritoryPercentage when changing number of players 2020-02-23 18:24:31 +00:00
CCmpTest.cpp Remove some unused Profiler.h and CLogger.h includes. 2019-09-07 13:35:45 +00:00
CCmpUnitMotion.cpp Abort formation-walking on any message from UnitMotion. 2020-07-22 09:31:08 +00:00
CCmpUnitRenderer.cpp RangeManager: Grid for 2D array, enum cleanups. 2020-06-13 09:05:40 +00:00
CCmpVision.cpp Add support for const methods in components and make those that can be const const. 2017-01-20 02:25:19 +00:00
CCmpVisualActor.cpp Fix VisualActor OOS introduced in rp22586 2019-08-12 08:05:04 +00:00
CCmpWaterManager.cpp Recompute water graphics when changing the water level and upon deserialization to fix a graphical (non-simulation) OOS on rejoin. 2017-07-01 04:15:49 +00:00
ICmpAIInterface.cpp Employ some variadic macros to make some of the C++ -> JS function calling code nicer. 2017-01-28 23:37:15 +00:00
ICmpAIInterface.h SpiderMonkey 31 upgrade 2015-01-24 14:46:52 +00:00
ICmpAIManager.cpp Use ScriptInterface::CreateObject for ToJSVal<CColor>, and for ToJSVal<Grid<u8> >, ToJSVal<Grid<u16> > used by the AIManager obtaining the pathfinder grid. 2019-09-13 00:56:51 +00:00
ICmpAIManager.h Choose AI behavior in gamesetup 2017-12-20 22:02:15 +00:00
ICmpAttack.cpp Add a C++ interface for CCmpAttack. 2020-04-21 21:44:05 +00:00
ICmpAttack.h Add a C++ interface for CCmpAttack. 2020-04-21 21:44:05 +00:00
ICmpCinemaManager.cpp Cinema Path GUI hiding and silhouettes fixes. 2017-06-17 14:17:30 +00:00
ICmpCinemaManager.h Draw paths only when cinematics isn't playing. Patch by Vladislav. 2017-05-08 04:02:33 +00:00
ICmpCommandQueue.cpp SpiderMonkey 31 upgrade 2015-01-24 14:46:52 +00:00
ICmpCommandQueue.h SpiderMonkey 31 upgrade 2015-01-24 14:46:52 +00:00
ICmpDecay.cpp
ICmpDecay.h
ICmpFogging.cpp Reduce drastically the number of mirages by making fogging conditional: entities will be miraged only if their health/resource amount is modified, or if they have a non-gaia owner. 2015-02-07 15:48:32 +00:00
ICmpFogging.h Reduce drastically the number of mirages by making fogging conditional: entities will be miraged only if their health/resource amount is modified, or if they have a non-gaia owner. 2015-02-07 15:48:32 +00:00
ICmpFootprint.cpp Add support for const methods in components and make those that can be const const. 2017-01-20 02:25:19 +00:00
ICmpFootprint.h Add support for const methods in components and make those that can be const const. 2017-01-20 02:25:19 +00:00
ICmpGarrisonHolder.cpp Support garrisoned enitites defined in map files. 2020-03-15 13:54:50 +00:00
ICmpGarrisonHolder.h Support garrisoned enitites defined in map files. 2020-03-15 13:54:50 +00:00
ICmpGuiInterface.cpp Employ some variadic macros to make some of the C++ -> JS function calling code nicer. 2017-01-28 23:37:15 +00:00
ICmpGuiInterface.h SpiderMonkey 31 upgrade 2015-01-24 14:46:52 +00:00
ICmpIdentity.cpp Replace {gender} by {phenotype} and support this tag in VisualActor. 2019-08-01 19:14:40 +00:00
ICmpIdentity.h Replace {gender} by {phenotype} and support this tag in VisualActor. 2019-08-01 19:14:40 +00:00
ICmpMinimap.cpp Stop serializing minimap playercolors 2018-01-07 20:23:04 +00:00
ICmpMinimap.h Stop serializing minimap playercolors 2018-01-07 20:23:04 +00:00
ICmpMirage.cpp Hide changes to buildings in the fog-of-war. 2014-08-04 22:49:19 +00:00
ICmpMirage.h Hide changes to buildings in the fog-of-war. 2014-08-04 22:49:19 +00:00
ICmpMotion.cpp
ICmpMotion.h
ICmpObstruction.cpp Enable garrisoning on gates / fix movement of units with visible garrison points (2nd commit) 2020-06-02 11:40:29 +00:00
ICmpObstruction.h Enable garrisoning on gates / fix movement of units with visible garrison points (2nd commit) 2020-06-02 11:40:29 +00:00
ICmpObstructionManager.cpp Move "IsInRange" family of functions to the Obstruction Manager and make the commutative. 2019-06-06 19:37:23 +00:00
ICmpObstructionManager.h Move LOS to a los helper header and cleanup Grid.h includes. 2020-06-14 20:39:03 +00:00
ICmpOverlayRenderer.cpp End source files with a newline. 2016-11-23 11:27:54 +00:00
ICmpOverlayRenderer.h Use const T& for parameters of some types in script-exposed native functions 2016-01-23 15:17:56 +00:00
ICmpOwnership.cpp Add support for const methods in components and make those that can be const const. 2017-01-20 02:25:19 +00:00
ICmpOwnership.h Add support for const methods in components and make those that can be const const. 2017-01-20 02:25:19 +00:00
ICmpParticleManager.cpp Set svn:eol-style=native, fix some inconsistent line endings 2013-12-06 00:42:50 +00:00
ICmpParticleManager.h Set svn:eol-style=native, fix some inconsistent line endings 2013-12-06 00:42:50 +00:00
ICmpPathfinder.cpp Fix the Mustang template. Add tests for the UnitMotionFlying component. 2017-04-03 09:58:01 +00:00
ICmpPathfinder.h Move path computations to an actual worker to prepare for threading. 2019-09-15 09:27:10 +00:00
ICmpPlayer.cpp Split CColor from Shapes. 2019-01-13 15:38:41 +00:00
ICmpPlayer.h Diplomacy Colors 2018-02-03 14:17:31 +00:00
ICmpPlayerManager.cpp
ICmpPlayerManager.h
ICmpPosition.cpp Rename cmpPosition's IsFloating to CanFloat. 2017-09-18 09:54:54 +00:00
ICmpPosition.h Rename cmpPosition's IsFloating to CanFloat. 2017-09-18 09:54:54 +00:00
ICmpProjectileManager.cpp Let the template define the actor used for the projectile. Also let projectiles have an impact animation (such as an explosion). 2017-12-23 09:27:19 +00:00
ICmpProjectileManager.h Let the template define the actor used for the projectile. Also let projectiles have an impact animation (such as an explosion). 2017-12-23 09:27:19 +00:00
ICmpRallyPoint.cpp Spawn units in rally point direction 2018-02-07 20:58:07 +00:00
ICmpRallyPoint.h Spawn units in rally point direction 2018-02-07 20:58:07 +00:00
ICmpRallyPointRenderer.cpp Diplomacy Colors 2018-02-03 14:17:31 +00:00
ICmpRallyPointRenderer.h Spawn units in rally point direction 2018-02-07 20:58:07 +00:00
ICmpRangeManager.cpp RangeManager: Grid for 2D array, enum cleanups. 2020-06-13 09:05:40 +00:00
ICmpRangeManager.h Move LOS to a los helper header and cleanup Grid.h includes. 2020-06-14 20:39:03 +00:00
ICmpRangeOverlayRenderer.cpp Diplomacy Colors 2018-02-03 14:17:31 +00:00
ICmpRangeOverlayRenderer.h Diplomacy Colors 2018-02-03 14:17:31 +00:00
ICmpSelectable.cpp Split CColor from Shapes. 2019-01-13 15:38:41 +00:00
ICmpSelectable.h Diplomacy Colors 2018-02-03 14:17:31 +00:00
ICmpSettlement.cpp
ICmpSettlement.h
ICmpSound.cpp Fix units not being able to play sounds when walking and running 2018-02-24 18:13:03 +00:00
ICmpSound.h Fix units not being able to play sounds when walking and running 2018-02-24 18:13:03 +00:00
ICmpSoundManager.cpp Add a new function to emit a sound from a position not attached to an entity. Use it to improve the attack impact sound code and allow to emit that sound even if the attacker died meanwhile. Use the sound provided by Pureon for catapult. Fix #4779. 2017-09-28 19:26:07 +00:00
ICmpSoundManager.h Add a new function to emit a sound from a position not attached to an entity. Use it to improve the attack impact sound code and allow to emit that sound even if the attacker died meanwhile. Use the sound provided by Pureon for catapult. Fix #4779. 2017-09-28 19:26:07 +00:00
ICmpTemplateManager.cpp Switch back to an unplaceable filter for templates. 2017-09-30 15:22:51 +00:00
ICmpTemplateManager.h AIManager: loads only the used templates when starting (or deserializing) a game 2017-11-24 19:13:28 +00:00
ICmpTerrain.cpp Replace hardcoded copies of a C++ simulation constant in JS used to compute the mapsize with a call to a new getter in the C++ interface. 2017-05-31 16:43:57 +00:00
ICmpTerrain.h Replace hardcoded copies of a C++ simulation constant in JS used to compute the mapsize with a call to a new getter in the C++ interface. 2017-05-31 16:43:57 +00:00
ICmpTerritoryDecayManager.cpp Add a TerritoryDecayManager component to update territoryMap with the blinking state when territories are recomputed. That's needed by the AI which was up to now not aware of blinking cells. 2017-10-07 08:42:39 +00:00
ICmpTerritoryDecayManager.h Add a TerritoryDecayManager component to update territoryMap with the blinking state when territories are recomputed. That's needed by the AI which was up to now not aware of blinking cells. 2017-10-07 08:42:39 +00:00
ICmpTerritoryInfluence.cpp
ICmpTerritoryInfluence.h Add support for const methods in components and make those that can be const const. 2017-01-20 02:25:19 +00:00
ICmpTerritoryManager.cpp Diplomacy Colors 2018-02-03 14:17:31 +00:00
ICmpTerritoryManager.h Diplomacy Colors 2018-02-03 14:17:31 +00:00
ICmpTest.cpp
ICmpTest.h
ICmpUnitMotion.cpp Set previous behaviour for SetFacePointAfterMove. 2020-07-19 10:42:45 +00:00
ICmpUnitMotion.h Set previous behaviour for SetFacePointAfterMove. 2020-07-19 10:42:45 +00:00
ICmpUnitRenderer.cpp New unit renderer. 2014-06-01 18:24:50 +00:00
ICmpUnitRenderer.h Add support for const methods in components and make those that can be const const. 2017-01-20 02:25:19 +00:00
ICmpUnknownScript.cpp
ICmpUnknownScript.h
ICmpValueModificationManager.cpp Make the actor tech-modifiable. Fixes #2243 2014-04-14 15:00:49 +00:00
ICmpValueModificationManager.h Make the actor tech-modifiable. Fixes #2243 2014-04-14 15:00:49 +00:00
ICmpVisibility.cpp RangeManager: Grid for 2D array, enum cleanups. 2020-06-13 09:05:40 +00:00
ICmpVisibility.h RangeManager: Grid for 2D array, enum cleanups. 2020-06-13 09:05:40 +00:00
ICmpVision.cpp Add support for const methods in components and make those that can be const const. 2017-01-20 02:25:19 +00:00
ICmpVision.h Add support for const methods in components and make those that can be const const. 2017-01-20 02:25:19 +00:00
ICmpVisual.cpp UnitMotion / AI - remove the special 'move' animation, make UnitMotion inform the visual actor directly. 2019-07-09 19:56:28 +00:00
ICmpVisual.h UnitMotion / AI - remove the special 'move' animation, make UnitMotion inform the visual actor directly. 2019-07-09 19:56:28 +00:00
ICmpWaterManager.cpp Add support for const methods in components and make those that can be const const. 2017-01-20 02:25:19 +00:00
ICmpWaterManager.h Add support for const methods in components and make those that can be const const. 2017-01-20 02:25:19 +00:00