0ad/source/simulation2/components
wraitii 45d136d57e Fix GetPosition2D call when the entity may be out of the world in unitMotion
As reported by Freagarach following a7da40ac2f.

32e8ed51aa introduced a "MoveObstructed" message, that could be sent
when the entity ran into obstructions, to stop early.
In HandleObstructedMove, my intention, as written in the comment, was
that the caller would do its thing (call StopMoving(), move out of the
world etc.) and thus ComputeGoal would return early.

However, I mistakenly left the `cmpPosition->GetPosition2D()` in between
that and ComputeGoal, which would then fail.

This fixes that by moving it after the `ComputeGoal` call.

Also add a sanity StopMoving() call to a7da40ac2f's move-out-of-world
call.

Reported by: Freagarach
Differential Revision: https://code.wildfiregames.com/D2935
This was SVN commit r23940.
2020-08-06 08:40:14 +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 Allow selectable component to overwrite shape of displayed selection from footprint 2020-07-26 18:26:20 +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 Improve ship pickup. 2020-08-03 12:02:24 +00:00
CCmpPathfinder_Common.h Improve ship pickup. 2020-08-03 12:02:24 +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 Allow selectable component to overwrite shape of displayed selection from footprint 2020-07-26 18:26:20 +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 Fix GetPosition2D call when the entity may be out of the world in unitMotion 2020-08-06 08:40:14 +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 # 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 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 # 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 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 Improve ship pickup. 2020-08-03 12:02:24 +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 # 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 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 # 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
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 # Initial support for territories 2011-07-20 19:48:06 +00:00
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 # 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 Improve ship pickup. 2020-08-03 12:02:24 +00:00
ICmpUnitMotion.h Improve ship pickup. 2020-08-03 12:02:24 +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 # 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 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