Refactor missiles.cpp to use Direction enum instead of magic Point/Displacement constants
#2,260 opened on Jun 28, 2021
Repository metrics
- Stars
- (7,255 stars)
- PR merge metrics
- (Avg merge 2d 12h) (15 merged PRs in 30d)
Description
There are multiple places in missiles.cpp which iterate through tiles adjacent to a given location.
https://github.com/diasurgical/devilutionX/blob/5537fe748e63b06ed2e474f7dea6ebd1216fa3d3/Source/missiles.cpp#L1634 https://github.com/diasurgical/devilutionX/blob/5537fe748e63b06ed2e474f7dea6ebd1216fa3d3/Source/missiles.cpp#L3417 https://github.com/diasurgical/devilutionX/blob/5537fe748e63b06ed2e474f7dea6ebd1216fa3d3/Source/missiles.cpp#L3995 https://github.com/diasurgical/devilutionX/blob/5537fe748e63b06ed2e474f7dea6ebd1216fa3d3/Source/missiles.cpp#L4017 https://github.com/diasurgical/devilutionX/blob/5537fe748e63b06ed2e474f7dea6ebd1216fa3d3/Source/missiles.cpp#L4772
These lists could be directly replaced with a list of the appropriate Direction enum constants. This would retain the same behaviour as existing code while making the intent clearer.