Get rid of linear texture scaling option #2255
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.
Summary
SUMMARY: Interface "Get rid of linear texture scaling option"
Purpose of change
Closes #2185
Closes #1888
Current issues with scaling options:
Scaling mode
andScaling factor
options are worded similarly and placed in same block, which makes it look like they're responsible for single feature (scaling game display), but de-facto scaling mode is for all texture scaling (tiles & display scaling) while scaling factor is for display scaling only.Scaling mode
option implies thatlinear
scaling is of the higher quality, which may be true when it comes to 3D games and moving and/or natural textures, but BN is a 2D game with static pixel art, any scaling except nearest turns the pixel art into blurry mess whenever you zoom in.Describe the solution
Display
toScaling factor
option name to better reflect its purpose.Describe alternatives you've considered
Scaling factor
too, usually OSes have per-screen DPI settings for this.SDL_RenderCopyEx
we use for drawing is too simple to support fractional texture coords. Alternative solution is either to rewrite renderer (ha!), or just pad every tile with a 1 pixel wide border of same color either on tileset load or by external tool on tileset creation, but both options are way too much work to save linear scaling which is ill suited for our use case anyway. So, I got rid of it.Testing
Works on Windows(msvc).