0ad/source/simulation2/components
wraitii 92ad6a61fa Fix OOS introduced by pathfinder threading preparation diff d592bf9cb6
Following d592bf9cb6, paths were computed at the end of turn N, and then
messages were sent at the beginning of turn N+1. However, the path
requests were removed at the end of turn N and so weren't serialised,
and neither were computed paths. This meant rejoiners would OOS when the
game was serialised with pending path results.

To fix this in preparation for threading, the architecture needs to
change slightly so that requests are kept and serialised correctly, and
rejoiners can compute the paths after deserialisation, in order to send
the messages at the beginning of turn N+1.

Fixes #5604

Reported By: elexis
Differential Revision: https://code.wildfiregames.com/D2317
This was SVN commit r22979.
2019-09-23 06:38:16 +00:00
..
tests Adds a "properties"-property to resources and let mods be able to prevent resources from being bartered, traded and/or tributed. 2019-09-22 14:53:47 +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 Adds a helper function to pick entities with a given component and a given filter on screen. 2019-09-20 07:45:55 +00:00
CCmpObstructionManager.cpp Vertex pathfinder - fixes to quadrant optimisation to ensure units don't take detours around obstructions. 2019-07-14 10:19:18 +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_Common.h Fix OOS introduced by pathfinder threading preparation diff d592bf9cb6 2019-09-23 06:38:16 +00:00
CCmpPathfinder.cpp Fix OOS introduced by pathfinder threading preparation diff d592bf9cb6 2019-09-23 06:38:16 +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 Fix some gcc 8 and gcc 9 compiler warnings that were thrown 4500 times. 2019-07-09 00:18:48 +00:00
CCmpRallyPointRenderer.cpp Move path computations to an actual worker to prepare for threading. 2019-09-15 09:27:10 +00:00
CCmpRangeManager.cpp Improve gathering behaviour when a target is not reachable 2019-09-01 07:35:32 +00:00
CCmpRangeOverlayRenderer.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
CCmpSelectable.cpp Fix selection rings while garrisoning 2018-02-17 16:56:12 +00:00
CCmpSoundManager.cpp Fix units not being able to play sounds when walking and running 2018-02-24 18:13:03 +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 Removes usages of duplication of Clamp function in simulation and atlas. Refs D1763. 2019-09-18 15:02:36 +00:00
CCmpTest.cpp Remove some unused Profiler.h and CLogger.h includes. 2019-09-07 13:35:45 +00:00
CCmpUnitMotion.cpp Fix units sometimes turning around when fleeing (introduced by D1987/99a341f379) 2019-09-10 18:11:07 +00:00
CCmpUnitRenderer.cpp Refactor renderer options. 2019-08-04 08:28:30 +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
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
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 Fix mirages (and any other entity that blocks something but not BlockConstruction) blocking foundation construction following 29492badb7 / D21. 2018-03-26 15:18:53 +00:00
ICmpObstruction.h Adds a helper function to pick entities with a given component and a given filter on screen. 2019-09-20 07:45:55 +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 UnitMotion - rename CheckTargetMovement to PathingUpdateNeeded for clarity, and improve the logic. 2019-07-03 18:06:53 +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 # 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 Fix duplication and clang warning in unreachable gathering target fix 30dcd696eb / D2120 2019-09-01 14:10:02 +00:00
ICmpRangeManager.h Fix duplication and clang warning in unreachable gathering target fix 30dcd696eb / D2120 2019-09-01 14:10:02 +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 UnitMotion cleanup - remove dead code, add a common path for MoveTo functions, rename BeginPathing, move functions around for better readability. 2019-07-28 10:51:12 +00:00
ICmpUnitMotion.h UnitMotion cleanup - remove dead code, add a common path for MoveTo functions, rename BeginPathing, move functions around for better readability. 2019-07-28 10:51:12 +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 Fix c229b46ac2. 2015-02-16 14:38:13 +00:00
ICmpVisibility.h Fix c229b46ac2. 2015-02-16 14:38:13 +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