Ticket #647 (closed enhancement: fixed)
Pathfinder and FoW branch
Reported by: | prock | Owned by: | helios2000 |
---|---|---|---|
Priority: | normal | Milestone: | 0.3.4 |
Component: | engine/core | Version: | trunk |
Severity: | normal | Keywords: | |
Cc: | Blocked By: | ||
Blocking: | Time planned: | ||
Time remaining: | Time spent: |
Description
Helios is working on a new pathfinder and some Fog of War code. This ticket is for that branch.
Change History
comment:2 Changed 6 years ago by helios2000
(In [3846]) * Initial commit to cell_pathfinding. Cell, Cellcache and CellRenderer? have been added. Otherwise, for the moment, no changes in pathfinding.
- Implemented a basic Fog of War example in Rio de Hola. refs #647
comment:4 Changed 6 years ago by helios2000
(In [3848]) * Added an update mechanism to CellRenderer?. Fog of War map is updated only if Camera or Cellcache force it.
Browse the change here: https://fife.trac.cvsdude.com/engine/changeset/3848 refs #647
comment:5 Changed 6 years ago by helios2000
(In [3849]) * Pathfinder uses now Cellcache instead of SearchSpace?.
Browse the change here: https://fife.trac.cvsdude.com/engine/changeset/3849 refs #647
comment:6 Changed 6 years ago by helios2000
(In [3850]) * Fixed a bug in Cellcache.
Browse the change here: https://fife.trac.cvsdude.com/engine/changeset/3850 refs #647
comment:7 Changed 6 years ago by helios2000
(In [3851]) * Added Route and the associated changes.
- Changed python loader so that it is also able to create Cellcaches.
- Changed also Grid and Heuristic functions.
- Removed SearchSpace?.
Browse the change here: https://fife.trac.cvsdude.com/engine/changeset/3851 refs #647
comment:8 Changed 6 years ago by helios2000
(In [3852]) * Removed SearchSpace? leftover.
Browse the change here: https://fife.trac.cvsdude.com/engine/changeset/3852 refs #647
comment:10 Changed 6 years ago by helios2000
(In [3855]) * Removed heuristic and added the cost function to cellgrid.
- Added one layer transition support.
- Renamed black_cell.PNG to black_cell.png.
- Fixed a few bugs in LayerCache?, ImageManager? and Image classes. refs #647
comment:11 Changed 6 years ago by chewie
comment:12 Changed 6 years ago by helios2000
(In [3863]) * Added the possibility to move between different layers. The Agent isn't by default forced to use the transition areas. Pathfinder uses them only if they are in the near. All this need more testing and improvements.
- Added the functionality to transfer instances safely between layers without the need of deleting. refs #647
comment:13 Changed 6 years ago by helios2000
comment:14 Changed 6 years ago by helios2000
comment:15 Changed 6 years ago by helios2000
comment:16 Changed 6 years ago by helios2000
(In [3873]) * Added the possibility to render special cell costs.
- Added more Instance/Object? functions to interact with cells. e.g. cellstack position and costs
- Added the possibility to change the default action.
- Corrected getCellsInCircle(). refs #647
comment:17 Changed 6 years ago by helios2000
comment:18 Changed 6 years ago by helios2000
(In [3880]) * Changed RoutePatherSearch? to be a base class and added derived classes for single and multi layer search.
- Changed save/load functions for layer_type.
- Merged trunk changes to branch. refs #647
comment:19 Changed 6 years ago by helios2000
(In [3892]) * Added pathfinder support for multi cell objects. You can add relative coordinates to an object. The instance is then used on all these cells.
- Removed getCellCoordinate() from cache, instead the cell got an own getLayerCoordinates() function.
- Fixed CellRenderer? and BlockingInfoRenderer?. So if no CellCache? is created it uses the instance blocking property again. refs #647
comment:20 Changed 6 years ago by helios2000
(In [3898]) * Optimized multi cell object support.
- Added CellChangeListener?. This is able to detect if a instance entered or exited a cell.
- Fixed few small bugs and unpleasant things.
- Merged trunk changes to branch. refs #647
comment:21 Changed 6 years ago by chewie
comment:22 Changed 6 years ago by helios2000
(In [3908]) * Fixed a small bug in CellCacheChangeListener?.
- Extended Instance follow() so it is able to detect if an action with the same properties has already been created.
- Merged trunk changes to branch. refs #647
comment:23 Changed 6 years ago by helios2000
(In [3915]) * Introduced basic save and load for CellCaches? and Cells. Added for this initialize and finalizeCellCaches() to map.
- Added cost and speed functions to CellCache?. These are now used as defaults.
- Optimized path search and fixed a bug.
- Fixed one more gap/wobbling problem in LayerCache?. refs #647
comment:24 Changed 6 years ago by helios2000
(In [3924]) * Added PathfinderTest? to fife tests. It demonstrates multilayer movement and how speed and cost multiplier could be used.
- Added zones, these allows a better and faster search for paths.
- Added areas which allow the clients to store cells in own groups.
- Merged trunk changes to branch.
- Some other minor fixes and improvements. refs #647
comment:25 Changed 6 years ago by helios2000
comment:26 Changed 6 years ago by helios2000
(In [3928]) * Changed the way instance rotation works. Instead of using a facing location the instance now use only a rotation value. But the possibility to get and set facing locations is still available. In case you set a facing location, internally it is converted to a angle or in case of get, the angle is converted to a location. refs #647
comment:27 Changed 6 years ago by helios2000
comment:28 Changed 6 years ago by helios2000
comment:29 Changed 6 years ago by helios2000
(In [3977]) * Changed the way multi objects search and check its paths. This way we don't need the walking areas. So the Pathfinder can mostly find a way e.g. a ship with width 1 and length 3 has no problem to drive through a river with width 1. Note: Simple rotation changes are not checked against blocker.
- Changed the branch related code to match the new coding standards. refs #647
comment:30 Changed 6 years ago by prock
comment:31 Changed 6 years ago by helios2000
(In [3980]) * Fixed demo applications to work with the new pathfinder.
- Added two more versions of instance act(). All in all there are three versions. The first one uses a location intended to be the rotation, the second uses a rotation value and the third uses the rotation of the instance.
- Added FoW, cell stack and special cost to map loader and saver.
- Merged trunk changes. I had to adjust it a little. refs #647
comment:32 Changed 6 years ago by helios2000
comment:33 Changed 6 years ago by helios2000
comment:34 Changed 6 years ago by helios2000
(In [3989]) * Optimized RAM consumption of the cells. Therefore a few functions and variables were moved to CellCache?, others were removed or changed to another container type. All in all the consumption is reduced by about 60%.
- Improved zone splittings and mergers.
- Added the possibility to disable automatic search for narrow cells, instead the client can sets its own. Or can thus use static zones. refs #647
comment:35 Changed 6 years ago by helios2000
(In [3991]) * Added a new event type to editor. It is needed to update the editor plugin correct.
- Fixed CellView? editor plugin and CellRenderer? to be in sync with the recent changes. refs #647
comment:36 Changed 6 years ago by helios2000
- Status changed from new to closed
- Resolution set to fixed
comment:37 Changed 6 years ago by helios2000
(In [4002]) * Added getMapViewPort() and getLayerViewPort() functions to camera class. These functions return the position and size of the camera in map or layer coordinates. CellRenderer? make use of it to speed up rendering, especially when many cells exist in the cache. refs #647
comment:38 Changed 6 years ago by helios2000
comment:39 Changed 6 years ago by helios2000
comment:40 Changed 6 years ago by helios2000
(In [4042]) * Fixed inheritance problem of the IPather and added missing functions.
- Enhanced Fog of War. You can now choose between quad or circle shape.
- Added a feature that allows to add a interact layer to an existing CellCache?.
- Fixed an update problem that occurred at CellCache? resize(). refs #647
(In [3845]) * Created new cell_pathfinding branch. refs #647