Fix bug in MapGetTileWorld and refactor #20
Merged
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.
After analyzing the code, I have identified an issue with the MapGetTileWorld function where passing a negative x or y in the range of (-TILE_SIZE, 0) would return the first tile in the map instead of EMPTY. To address this issue, I have made a modification to the function where I immediately return EMPTY if x or y is negative. This not only fixes the problem but also simplifies the second condition on line 324, resulting in more efficient code.
Furthermore, upon reviewing the code, I noticed that the shift operator (>>) and TILE_SHIFT were being used unnecessarily for every call to MapGetTile. Given that this logic is already used inside of MapGetTileWorld, I replaced all instances of MapGetTile with MapGetTileWorld and removed the unnecessary shifting-related code. Consequently, the TILE_SHIFT variable was no longer required, allowing me to remove it and further streamline the code.