togglable in settings.game

fix zoom independency
This commit is contained in:
Izzat Nasrun
2020-05-21 12:26:20 +08:00
parent f598ccb79b
commit 196a79a10c
3 changed files with 8 additions and 4 deletions

View File

@ -639,6 +639,7 @@ setting.linear.name = Linear Filtering
setting.hints.name = Hints setting.hints.name = Hints
setting.flow.name = Display Resource Flow Rate setting.flow.name = Display Resource Flow Rate
setting.buildautopause.name = Auto-Pause Building setting.buildautopause.name = Auto-Pause Building
setting.mapcenter.name = Auto Center Map To Player
setting.animatedwater.name = Animated Fluids setting.animatedwater.name = Animated Fluids
setting.animatedshields.name = Animated Shields setting.animatedshields.name = Animated Shields
setting.antialias.name = Antialias[lightgray] (requires restart)[] setting.antialias.name = Antialias[lightgray] (requires restart)[]

View File

@ -238,6 +238,7 @@ public class SettingsMenuDialog extends SettingsDialog{
if(!mobile){ if(!mobile){
game.checkPref("buildautopause", false); game.checkPref("buildautopause", false);
} }
game.checkPref("mapcenter", true);
if(steam){ if(steam){
game.sliderPref("playerlimit", 16, 2, 32, i -> { game.sliderPref("playerlimit", 16, 2, 32, i -> {

View File

@ -111,10 +111,12 @@ public class MinimapFragment extends Fragment{
} }
public void toggle(){ public void toggle(){
if(Core.settings.getBool("mapcenter")){
float size = baseSize * zoom * world.width(); float size = baseSize * zoom * world.width();
float ratio = (float)renderer.minimap.getTexture().getHeight() / renderer.minimap.getTexture().getWidth(); float ratio = (float)renderer.minimap.getTexture().getHeight() / renderer.minimap.getTexture().getWidth();
panx = size/2f - player.x() / (world.width() * tilesize) * size; panx = (size/2f - player.x() / (world.width() * tilesize) * size) / zoom;
pany = size*ratio/2f - player.y() / (world.height() * tilesize) * size*ratio; pany = (size*ratio/2f - player.y() / (world.height() * tilesize) * size*ratio) / zoom;
}
shown = !shown; shown = !shown;
} }
} }