0ad/source/simulation2/components
Itms 9da482ead4 Based on previous experimental changes, major update to the unit motion.
With this change, units will not check their movement against all
obstructions when moving: terrain and static obstructions are assumed to
be handled by the long-range pathfinder.
However, when static obstructions are changed, the paths have to be
invalidated. In order to minimize the performance impact, units will
check for obstructions when they move after a passability change. If
they collide with something, they will recompute a path that will take
into account the new passability map.

Also includes some code cleanup. This patch should not change
performance a lot: the lower number of checks should give a small
performance improvement while using the message broadcasting system
should hurt it a bit.

Fixes #3376, #3337, #1914.

This was SVN commit r16998.
2015-09-10 18:12:13 +00:00
..
tests Range-based for for VfsPath loops. 2015-07-29 23:44:12 +00:00
CCmpAIManager.cpp Use in-place construction. 2015-07-29 23:44:17 +00:00
CCmpCommandQueue.cpp SpiderMonkey 31 upgrade 2015-01-24 14:46:52 +00:00
CCmpDecay.cpp Improve template code style for the Decay component. 2015-01-21 21:45:05 +00:00
CCmpFootprint.cpp New long-range pathfinder. 2015-06-12 18:58:24 +00:00
CCmpMinimap.cpp Fixes inconsistencies in spelling of colour/color by preferring "color" (only wxWidgets remains with some API that requires "colour"), fixes #1029. 2015-03-15 23:59:48 +00:00
CCmpMotionBall.cpp Avoid slightly-expensive QueryInterface() calls 2013-09-11 20:41:53 +00:00
CCmpObstruction.cpp Style cleanup, and remove a wrong TODO. 2015-09-02 17:40:31 +00:00
CCmpObstructionManager.cpp Style cleanup, and remove a wrong TODO. 2015-09-02 17:40:31 +00:00
CCmpOverlayRenderer.cpp Allow sprites to have color multiplication, which allows player-colored bars. Patch by Vladislav. Fixes #3233 2015-06-04 12:16:52 +00:00
CCmpOwnership.cpp Added a 'quiet' version of SetOwner() that doesn't send a message, to allow faux-atomic batch ownership changes. 2012-08-08 05:18:20 +00:00
CCmpParticleManager.cpp Set svn:eol-style=native, fix some inconsistent line endings 2013-12-06 00:42:50 +00:00
CCmpPathfinder_Common.h Use the terrain-only grid for terrain edges in the short pathfinder algorithm. This grid is updated on each terrain change, whereas the passability grid is updated once a turn. This caused OOS on rejoin, fixes #3292. 2015-07-18 08:37:49 +00:00
CCmpPathfinder_Vertex.cpp Fix a number of short/long range pathfinder inconsistencies revealed by 128a603287. 2015-07-18 12:33:40 +00:00
CCmpPathfinder.cpp Based on previous experimental changes, major update to the unit motion. 2015-09-10 18:12:13 +00:00
CCmpPosition.cpp Automatically convert all CLogger format strings from wchar_t* to char*. 2015-01-22 20:31:30 +00:00
CCmpProjectileManager.cpp Return the correct projectile id to fix serialization test failure. 2015-02-21 01:41:09 +00:00
CCmpRallyPointRenderer.cpp New long-range pathfinder. 2015-06-12 18:58:24 +00:00
CCmpRangeManager.cpp Fix the OOS reported by elexis in #3335, and clean some whitespace and style. 2015-08-30 17:42:10 +00:00
CCmpSelectable.cpp Fixes inconsistencies in spelling of colour/color by preferring "color" (only wxWidgets remains with some API that requires "colour"), fixes #1029. 2015-03-15 23:59:48 +00:00
CCmpSoundManager.cpp Stop music when resetting the simulation test mode in Atlas. 2014-09-12 21:38:10 +00:00
CCmpTemplateManager.cpp Automatically replace %hs/%ls with %s in CLogger format strings. 2015-01-22 20:36:24 +00:00
CCmpTerrain.cpp Adapt Atlas to the new pathfinder. Fixes #3298 2015-06-29 19:59:41 +00:00
CCmpTerritoryInfluence.cpp Fix the territory influence weight to fit into an u16 number. (no idea why the buildings have so many different weights though). 2015-05-26 14:25:23 +00:00
CCmpTerritoryManager.cpp Recompute the cost grid in the TerritoryManager when needed. Patch by s0600204. Fixes #3399, #3400. 2015-09-06 22:35:38 +00:00
CCmpTest.cpp Simplify component interface: remove explicit context parameter, use GetSimContext() instead. 2011-01-16 14:08:38 +00:00
CCmpUnitMotion.cpp Based on previous experimental changes, major update to the unit motion. 2015-09-10 18:12:13 +00:00
CCmpUnitRenderer.cpp Use in-place construction. 2015-07-29 23:44:17 +00:00
CCmpVision.cpp Make the Ptolemaic lighthouse reveal the shore on the entire map. 2015-05-06 18:47:02 +00:00
CCmpVisualActor.cpp Fixes inconsistencies in spelling of colour/color by preferring "color" (only wxWidgets remains with some API that requires "colour"), fixes #1029. 2015-03-15 23:59:48 +00:00
CCmpWaterManager.cpp Remove a useless global terrain update when modifying environment settings in Atlas. 2015-07-14 17:08:02 +00:00
ICmpAIInterface.cpp SpiderMonkey 31 upgrade 2015-01-24 14:46:52 +00:00
ICmpAIInterface.h SpiderMonkey 31 upgrade 2015-01-24 14:46:52 +00:00
ICmpAIManager.cpp SpiderMonkey 31 upgrade 2015-01-24 14:46:52 +00:00
ICmpAIManager.h SpiderMonkey 31 upgrade 2015-01-24 14:46:52 +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 # Add corpse decay and building collapse. 2010-08-01 17:38:01 +00:00
ICmpDecay.h # Add corpse decay and building collapse. 2010-08-01 17:38:01 +00:00
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 SpiderMonkey 31 upgrade 2015-01-24 14:46:52 +00:00
ICmpFootprint.h SpiderMonkey 31 upgrade 2015-01-24 14:46:52 +00:00
ICmpGuiInterface.cpp SpiderMonkey 31 upgrade 2015-01-24 14:46:52 +00:00
ICmpGuiInterface.h SpiderMonkey 31 upgrade 2015-01-24 14:46:52 +00:00
ICmpIdentity.cpp Missing files 2011-05-05 20:07:51 +00:00
ICmpIdentity.h Missing files 2011-05-05 20:07:51 +00:00
ICmpMinimap.cpp # Display units on the minimap 2010-04-23 18:36:48 +00:00
ICmpMinimap.h Fixes inconsistencies in spelling of colour/color by preferring "color" (only wxWidgets remains with some API that requires "colour"), fixes #1029. 2015-03-15 23:59:48 +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 # Rewrite of the game's simulation system 2010-01-09 19:20:14 +00:00
ICmpMotion.h # Rewrite of the game's simulation system 2010-01-09 19:20:14 +00:00
ICmpObstruction.cpp Allow building walls along the shore. Patch by sanderd17. Fix #1610. 2013-07-07 22:44:47 +00:00
ICmpObstruction.h New long-range pathfinder. 2015-06-12 18:58:24 +00:00
ICmpObstructionManager.cpp Stop units walking outside the edges of circular maps. 2010-10-30 18:25:34 +00:00
ICmpObstructionManager.h Based on previous experimental changes, major update to the unit motion. 2015-09-10 18:12:13 +00:00
ICmpOverlayRenderer.cpp Allow sprites to have color multiplication, which allows player-colored bars. Patch by Vladislav. Fixes #3233 2015-06-04 12:16:52 +00:00
ICmpOverlayRenderer.h Allow sprites to have color multiplication, which allows player-colored bars. Patch by Vladislav. Fixes #3233 2015-06-04 12:16:52 +00:00
ICmpOwnership.cpp Added a 'quiet' version of SetOwner() that doesn't send a message, to allow faux-atomic batch ownership changes. 2012-08-08 05:18:20 +00:00
ICmpOwnership.h Added a 'quiet' version of SetOwner() that doesn't send a message, to allow faux-atomic batch ownership changes. 2012-08-08 05:18:20 +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 New long-range pathfinder. 2015-06-12 18:58:24 +00:00
ICmpPathfinder.h Use the terrain-only grid for terrain edges in the short pathfinder algorithm. This grid is updated on each terrain change, whereas the passability grid is updated once a turn. This caused OOS on rejoin, fixes #3292. 2015-07-18 08:37:49 +00:00
ICmpPlayer.cpp Fixes inconsistencies in spelling of colour/color by preferring "color" (only wxWidgets remains with some API that requires "colour"), fixes #1029. 2015-03-15 23:59:48 +00:00
ICmpPlayer.h Fixes inconsistencies in spelling of colour/color by preferring "color" (only wxWidgets remains with some API that requires "colour"), fixes #1029. 2015-03-15 23:59:48 +00:00
ICmpPlayerManager.cpp # Add new renderer mode based on GL_ARB_fragment_program. 2011-03-26 20:17:21 +00:00
ICmpPlayerManager.h # Add new renderer mode based on GL_ARB_fragment_program. 2011-03-26 20:17:21 +00:00
ICmpPosition.cpp New unit renderer. 2014-06-01 18:24:50 +00:00
ICmpPosition.h Fix non-PCH build. 2014-06-02 20:06:27 +00:00
ICmpProjectileManager.cpp Added randomized arrow positions with hit detection when the missile lands and splash damage. Fixes #18. 2012-05-19 23:07:41 +00:00
ICmpProjectileManager.h Added randomized arrow positions with hit detection when the missile lands and splash damage. Fixes #18. 2012-05-19 23:07:41 +00:00
ICmpRallyPointRenderer.cpp Recompute rally point lines when the rally point is set on a moving unit. 2014-06-04 22:07:58 +00:00
ICmpRallyPointRenderer.h Recompute rally point lines when the rally point is set on a moving unit. 2014-06-04 22:07:58 +00:00
ICmpRangeManager.cpp Move visibility component activation check to C++. Patch by Itms. 2015-02-14 17:13:50 +00:00
ICmpRangeManager.h Make the Ptolemaic lighthouse reveal the shore on the entire map. 2015-05-06 18:47:02 +00:00
ICmpSelectable.cpp Rename ps/Overlay(.h|.cpp) to ps/Shapes(.h|.cpp), fixes a TODO located in graphics/Overlay.h. 2015-03-15 18:06:32 +00:00
ICmpSelectable.h Slightly speed up actor rendering; have selectables properly handle fog of war, etc. Refs #1365. 2012-07-30 21:06:54 +00:00
ICmpSettlement.cpp # Initial support for territories 2011-07-20 19:48:06 +00:00
ICmpSettlement.h # Initial support for territories 2011-07-20 19:48:06 +00:00
ICmpSoundManager.cpp Stop music when resetting the simulation test mode in Atlas. 2014-09-12 21:38:10 +00:00
ICmpSoundManager.h Stop music when resetting the simulation test mode in Atlas. 2014-09-12 21:38:10 +00:00
ICmpTechnologyTemplateManager.cpp SpiderMonkey 31 upgrade 2015-01-24 14:46:52 +00:00
ICmpTechnologyTemplateManager.h SpiderMonkey 31 upgrade 2015-01-24 14:46:52 +00:00
ICmpTemplateManager.cpp Clean up LoadPlayerSettings. 2015-01-01 23:10:24 +00:00
ICmpTemplateManager.h Clean up LoadPlayerSettings. 2015-01-01 23:10:24 +00:00
ICmpTerrain.cpp Summon planes back from the emptyness 2013-11-26 15:12:16 +00:00
ICmpTerrain.h Fix an issue with corruption of water data when the actor editor opened in Atlas. 2014-02-25 06:27:15 +00:00
ICmpTerritoryInfluence.cpp # Initial support for territories 2011-07-20 19:48:06 +00:00
ICmpTerritoryInfluence.h Implement methods to find the neighbour of a certain territory, and use it for territory decay. Fixes #3204 2015-05-25 14:17:45 +00:00
ICmpTerritoryManager.cpp Add ability to query the map control percentage, and use this value in the summary screen. Patch by s0600204, fixes #3321 2015-08-23 17:44:37 +00:00
ICmpTerritoryManager.h Add ability to query the map control percentage, and use this value in the summary screen. Patch by s0600204, fixes #3321 2015-08-23 17:44:37 +00:00
ICmpTest.cpp # Rewrite of the game's simulation system 2010-01-09 19:20:14 +00:00
ICmpTest.h # Rewrite of the game's simulation system 2010-01-09 19:20:14 +00:00
ICmpUnitMotion.cpp Use the terrain-only grid for terrain edges in the short pathfinder algorithm. This grid is updated on each terrain change, whereas the passability grid is updated once a turn. This caused OOS on rejoin, fixes #3292. 2015-07-18 08:37:49 +00:00
ICmpUnitMotion.h Use the terrain-only grid for terrain edges in the short pathfinder algorithm. This grid is updated on each terrain change, whereas the passability grid is updated once a turn. This caused OOS on rejoin, fixes #3292. 2015-07-18 08:37:49 +00:00
ICmpUnitRenderer.cpp New unit renderer. 2014-06-01 18:24:50 +00:00
ICmpUnitRenderer.h Improve PickEntitiesAtPoint 2015-01-01 23:05:26 +00:00
ICmpUnknownScript.cpp # Added initial support for players and population counters in new simulation system, plus various infrastructure improvements. 2010-01-22 20:03:14 +00:00
ICmpUnknownScript.h # Added initial support for players and population counters in new simulation system, plus various infrastructure improvements. 2010-01-22 20:03:14 +00:00
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 Fix c229b46ac2. 2015-02-16 14:38:13 +00:00
ICmpVisibility.h Fix c229b46ac2. 2015-02-16 14:38:13 +00:00
ICmpVision.cpp Move template items GetRetainInFog and AlwaysVisible from Vision to Visibility. 2014-12-05 18:33:59 +00:00
ICmpVision.h Move template items GetRetainInFog and AlwaysVisible from Vision to Visibility. 2014-12-05 18:33:59 +00:00
ICmpVisual.cpp Fixes inconsistencies in spelling of colour/color by preferring "color" (only wxWidgets remains with some API that requires "colour"), fixes #1029. 2015-03-15 23:59:48 +00:00
ICmpVisual.h Fixes inconsistencies in spelling of colour/color by preferring "color" (only wxWidgets remains with some API that requires "colour"), fixes #1029. 2015-03-15 23:59:48 +00:00
ICmpWaterManager.cpp Substantial speed-up of the foam generation code. 2014-01-05 16:15:20 +00:00
ICmpWaterManager.h Substantial speed-up of the foam generation code. 2014-01-05 16:15:20 +00:00