Remove globals from fov_diamond and fov_restrictive algorithms#48
Merged
HexDecimal merged 2 commits intolibtcod:developfrom Apr 4, 2020
Merged
Remove globals from fov_diamond and fov_restrictive algorithms#48HexDecimal merged 2 commits intolibtcod:developfrom
HexDecimal merged 2 commits intolibtcod:developfrom
Conversation
- place globals and map* into a fov_t object, and modify local functions to use it. - clean up 2 for loops to make them simpler.
- pass in angle arrays as parameters, instead of reusing global. - make compute_quadrant a static function as its only used locally - simplify fov clearing loop.
HexDecimal
approved these changes
Apr 4, 2020
Collaborator
|
This looks good. Thanks for the extra refactoring and for making this pull request! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
For issue #47.
makes diamond raycasting fov, and restrictive fov algorithms reentrant.
for diamond fov, adds a
fov_tstruct to store all relevant state; the globals, and pointer to the map.also simplified 2 for loops (the expandPerimiter, and set fov loops).
for restrictive fov, adds 2 double* parameters to the compute_quadrant function, instead of reusing the globals.
also made the compute_quadrant a static function as its not exposed in the headers or used elsewhere.